home *** CD-ROM | disk | FTP | other *** search
/ Products & Services for NeXT / Products & Services for NeXT.iso / AlembicDemo.app / ScriptWriter / CommandGroups / Programming.cmdgrp (.txt) < prev    next >
Encoding:
NeXT TypedStream Data  |  1993-07-19  |  578.2 KB  |  4,703 lines

  1. typedstream
  2. CommandGroup
  3. Object
  4. Programming
  5. [51@]
  6. Command
  7. NXImage
  8. NXBitmapImageRep
  9. NXImageRep
  10. iisssss00
  11. [576c]UUUUUUUUUUU@
  12. @vnZjf
  13. ufeufV
  14. vvuwk
  15. UUUUUUUUUUX
  16. NXCachedImageRep
  17. iiiiii00
  18. [4608c]T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  19. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  20. 4OCO4OD_
  21. CO3?CODO
  22. 4ODO4OD_
  23. CO4?CODO
  24. 4OCO4OCOx
  25. CO3?CO4?
  26. 4O3O4O3Ox
  27. CO4?CO3O
  28. E_Uox
  29. U_V_w
  30. 4O3O4OCOx
  31. CO3?CO3O
  32. 4OCO4O3Ox
  33. 3?CODOCO4?COC?CO3?COC?
  34. DO4?CO4?3O3?CO4?3O4OCO
  35. ou/v?u?
  36. 4?CO4OCO3OCO3?CO3?CO4?
  37. CO4OD_4O3O4O3O4O3O3O3O
  38. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  39. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  40. archive and library maintainer
  41. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  42. \margl40
  43. \margr40
  44. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b\i0\ulnone\fs24\fc0\cf0 ar
  45. \b0  maintains groups of files combined into a single archive file. Its main use is to create and update library files as used by the loader. It can be used, though, for any similar purpose. N.B: This version of ar uses a ASCII-format archive which is portable among the various machines running UNIX. Programs for dealing with older formats are available: see arcv(8).
  46. [10@]
  47. CommandOption
  48. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  49. \margl40
  50. \margr40
  51. \f0\b0\i0\ulnone\ql\fs24\fi0\li0\gray0\fc0\cf0\up0\dn0 Delete the named files from the archive file
  52. H{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  53. \margl40
  54. \margr40
  55. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Replace the named files in the archive file. If the optional character u is used with r, then only those files with `last-modified' dates later than the archive     files are replaced. If an optional positioning character from the set abi is used, then the posname argument must be present and specifies that new files are to be     placed after (a) or before (b or i) posname. Otherwise     new files are placed at the end
  56. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  57. \margl40
  58. \margr40
  59. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Quickly append the named files to the end of the archive file. Optional positioning characters are invalid. The command does not check whether the added members are already in the archive. Useful only to     avoid quadratic behavior when creating a large archive piece-by-piece
  60. D{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  61. \margl40
  62. \margr40
  63. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Print a table of contents of the archive file. If no names are given, all files in the archive are tabled. If names are given, only those files are tabled
  64. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  65. \margl40
  66. \margr40
  67. \f0\b0\i0\ulnone\ql\fs24\fi0\li0\gray0\fc0\cf0\up0\dn0 Print the named files in the archive
  68. b{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  69. \margl40
  70. \margr40
  71. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Move the named files to the end of the archive. If a positioning character is present, then the posname argument must be present and, as in r, specifies where the files are to be moved
  72. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  73. \margl40
  74. \margr40
  75. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Extract the named files. If no names are given, all files in the archive are extracted. In neither case does x alter the archive file. Normally the `last-modified' date of each extracted file is the date when it is extracted. However, if o is used, the `last- modified' date is reset to the date recorded in the archive
  76. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  77. \margl40
  78. \margr40
  79. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Verbose. Under the verbose option, ar gives a file-by-file description of the making of a new archive file from the old archive and the constituent files. When used with t, it gives a long listing of all information about the files. When used with p, it precedes each file with a name
  80. 8{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  81. \margl40
  82. \margr40
  83. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Create. Normally ar will create afile when it needs to. The create option suppresses the normal message that is produced when afile is created
  84. *{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  85. \margl40
  86. \margr40
  87. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Local. Normally ar places its temporary files in the directory /tmp. This option causes them to be placed in the local directory
  88. CommandArgument
  89. afile
  90. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  91. \margl40
  92. \margr40
  93. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 The archive file
  94. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  95. \margl40
  96. \margr40
  97. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The names of constituent files within the archive file
  98. UUUUUUUUUUU@
  99. @vnZjf
  100. ufeufV
  101. vvuwk
  102. UUUUUUUUUUX
  103. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  104. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  105. 4OCO4OD_
  106. CO3?CODO
  107. 4ODO4OD_
  108. CO4?CODO
  109. 4OCO4OCOx
  110. CO3?CO4?
  111. 4O3O4O3Ox
  112. CO4?CO3O
  113. E_Uox
  114. U_V_w
  115. 4O3O4OCOx
  116. CO3?CO3O
  117. 4OCO4O3Ox
  118. 3?CODOCO4?COC?CO3?COC?
  119. DO4?CO4?3O3?CO4?3O4OCO
  120. ou/v?u?
  121. 4?CO4OCO3OCO3?CO3?CO4?
  122. CO4OD_4O3O4O3O4O3O3O3O
  123. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  124. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  125. 7NeXT, GNU based, assemblers producing Mach object files
  126. Y{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  127. \margl40
  128. \margr40
  129. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 as
  130. \b0  translates assembly code in the named files object code (reads from stdin if no files are specified). All undefined symbols in the assembly are treated as global. The output of the assembly is left in the file a.out by default.\
  131. The program /bin/as is a driver that executes assemblers for specific target architectures. If no target architecture is specified it defaults to the architecture of the host it is running on.
  132. [13@]
  133.     {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  134. \margl40
  135. \margr40
  136. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 The name argument after -o is used as the name of the 
  137. \b as
  138. \b0  output file, instead of a.out
  139. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  140. \margl40
  141. \margr40
  142. \f0\b0\i0\ulnone\ql\fs24\fi0\li0\gray0\fc0\cf0\up0\dn0 The name of the output file
  143. -arch
  144. @{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  145. \margl40
  146. \margr40
  147. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Specifies to the target architecture, arch_type, of the assembler to be executed. The target assemblers for each architecture are in /lib/arch_type/as
  148.     arch_type
  149. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  150. \margl40
  151. \margr40
  152. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 The architecture type
  153. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  154. \margl40
  155. \margr40
  156. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Use stdin for the assembly source input
  157. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  158. \margl40
  159. \margr40
  160. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Fast, no need for the ``app'' (assembler) preprocessor. The assembler preprocessor can also be turned off by starting the assembly file with "#NO_APP\\n". This is intended for use by compilers which produce assembly code in a strict "clean" format that specifies exactly where whitespace can go. The app preprocessor needs to be run on hand written assembly files and or file that have been preprocessed by the 'C' preprocessor ``cpp''. This typicly is needed when assembler files are assembled through the use of the cc(1) command that automaticly runs the 'C' pre-processor on assembly source files. The assembler preprocessor function is to strips out excess spaces, turns single-quoted characters into a decimal constant, and turn # <number> <filename> <level> into a .line <number>;.file <filename> pairs. When the assembler preprocessor has been turned off via a "#NO_APP\\n" at the start of a file it can be turned on an off with pairs of "#APP\\n" and "#NO_APP\\n" at the beginning of lines. This is used by the compiler to wrap assembly statements produces from asm() statements
  161. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  162. \margl40
  163. \margr40
  164. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Produces a warning when the statment ``.word symbol1symbol2+offset'' does not fit in a 16 bit word (only applicable on the 68000 processor where .word is 16 bits and addresses are 16 bits). Not applicable on NeXT machines
  165. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  166. \margl40
  167. \margr40
  168. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Produce debugging information for the symbolic debugger gdb(1) so the the assembly source can be debugged symbolicly. For include files, included via the 'C' pre-processor's #include or the directive .include, that produce instructions in the (__TEXT,__text) section the include file must be included while a .text directive is in effect (that is a .text before the include) and end with the a .text directive in effect (at the end of the include file). Or otherwise the debugger will get confused when in that assembly file
  169. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  170. \margl40
  171. \margr40
  172. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Print the version the the assembler (both the NeXT version and the GNU version that it is based on)
  173. [{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  174. \margl40
  175. \margr40
  176. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Add the directory dir to the list of directories to search for files included with the .include directive. The default place to search is the current directory then /usr/include
  177. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  178. \margl40
  179. \margr40
  180. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The directory to add
  181. K{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  182. \margl40
  183. \margr40
  184. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Save defined labels beginning with an 'L', which are normally discarded to save space in the resultant symbol table. The compiler generates such temporary labels
  185. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  186. \margl40
  187. \margr40
  188. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 For offsets off of an address register that refers to an undefined symbol, as in a6@(foo) where foo is not defined in the assembly file, make the offset and the relocation entry width 32 bits rather than 16 bits (for the MC68000 processor family only)
  189. -mc68000
  190. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  191. \margl40
  192. \margr40
  193. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Generate branches that the mc68000 and mc68010 can use (that don't use 32 bit pc-relative jumps and branches since the are not implemented on these two processors). Not applicable on NeXT machines (for the MC68000 processor family only)
  194. -mc68010
  195. -mc68020
  196. #{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  197. \margl40
  198. \margr40
  199. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Generate branches that use 32 bit pc-relative displacements. This is the default. (For the MC68000 processor family only)
  200. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  201. \margl40
  202. \margr40
  203. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 The file(s) containing source assembly code
  204. UUUUUUUUUUU@
  205. @vnZjf
  206. ufeufV
  207. vvuwk
  208. UUUUUUUUUUX
  209. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  210. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  211. 4OCO4OD_
  212. CO3?CODO
  213. 4ODO4OD_
  214. CO4?CODO
  215. 4OCO4OCOx
  216. CO3?CO4?
  217. 4O3O4O3Ox
  218. CO4?CO3O
  219. E_Uox
  220. U_V_w
  221. 4O3O4OCOx
  222. CO3?CO3O
  223. 4OCO4O3Ox
  224. 3?CODOCO4?COC?CO3?COC?
  225. DO4?CO4?3O3?CO4?3O4OCO
  226. ou/v?u?
  227. 4?CO4OCO3OCO3?CO3?CO4?
  228. CO4OD_4O3O4O3O4O3O3O3O
  229. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  230. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  231. asm56000
  232. 'Motorola DSP56000 Macro Cross Assembler
  233. P{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  234. \margl40
  235. \margr40
  236. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b\i0\ulnone\fs24\fc0\cf0 asm56000
  237. \b0  is a program that processes source program statements written in DSP56000 assembly language, translating these source statements into object programs compatible with other DSP56000 software products.\
  238. files is a list of operating system compatible filenames (including optional pathnames) separated by blanks. If no extension is supplied for a given file, the assembler will automatically append .asm to the filename. If no path is specified for a given file, the assembler will look for that file in the current directory. The list of files will be processed sequentially in the order given and all files will be used to generate the output listing and object file.
  239. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  240. \margl40
  241. \margr40
  242. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Indicates that the assembler should operate in absolute mode, creating a load (.lod) file if the -B option is given. By default the assembler produces a link (.lnk) file which is subsequently processed by the DSP56000 linker.
  243. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  244. \margl40
  245. \margr40
  246. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 This option specifies that an object file is to be created for assembler output. objfil can be any legal operating system filename, including an optional pathname. Note that there can be no intervening spaces between the -B and the optional filename.\
  247.  If a path is not specified, the file will be created in the current directory. If no filename is specified, the assembler will use the basename (filename without extension) of the first filename encountered in the source input file list. The resulting output file will have an extension of .lnk unless the -A option is given, in which case the file will have a .lod extension. If the -B option is not specified, then the assembler will not generate an object file. The -B option should be specified only once
  248. objfil
  249. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  250. \margl40
  251. \margr40
  252. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 The object file for assembler output
  253. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  254. \margl40
  255. \margr40
  256. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 This is equivalent to a source statement of the form:\
  257.  DEFINE <symbol> <string>\
  258.  The -D and symbol should not be separated by a blank. string should be enclosed in quotes and preceded by a blank. string must be enclosed in double quotes if it contains any embedded blanks. The -D<symbol> <string> sequence can be repeated as often as desired
  259. symbol
  260. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  261. \margl40
  262. \margr40
  263. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The symbol to be defined
  264. string
  265. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  266. \margl40
  267. \margr40
  268. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The string value to define the symbol as
  269. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  270. \margl40
  271. \margr40
  272. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 When the assembler encounters include files, the current directory (or the directory specified in the INCLUDE directive) is first searched for the file. If it is not found and the -I option is specified, the assembler prefixes the filename (and optional pathname) specified in the INCLUDE directive with ipath and searches the newly formed directory pathname for the file. The -I and ipath should not be separated by a blank. The directories will be searched in the reverse order specified on the command line
  273. ipath
  274. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  275. \margl40
  276. \margr40
  277. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The path for the INCLUDE directive
  278. b{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  279. \margl40
  280. \margr40
  281. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 This option specifies that a listing file is to be created for assembler output. lstfil can be any legal operating system filename, including an optional pathname. Note that there can be no intervening spaces between the -L and the optional filename.\
  282.  If a path is not specified, the file will be created in the current directory. If no filename is specified, the assembler will use the basename (filename without extension) of the first filename encountered in the source input file list. The resulting output file will have an extension of .lst. If the -L option is not specified, then the assembler will route listing output to the standard output. The -L option should be specified only once
  283. lstfil
  284. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  285. \margl40
  286. \margr40
  287. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The listing file to be created
  288. {{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  289. \margl40
  290. \margr40
  291. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 This is equivalent to a source statement of the form:\
  292.  MACLIB <mpath>\
  293.  The -M and mpath should not be separated by a blank. The directories will be searched in the reverse order specified on the command line
  294. mpath
  295. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  296. \margl40
  297. \margr40
  298. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The path for MACLIB
  299. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  300. \margl40
  301. \margr40
  302. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 The -O and opt should not be separated by a blank. opt can be any of the options that are available with the assembler OPT directive. If multiple options are specified, they must be separated by commas. The -O<opt> sequence can be repeated for as many options as desired
  303. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  304. \margl40
  305. \margr40
  306. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The options for the OPT directive
  307. files
  308. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  309. \margl40
  310. \margr40
  311. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The 56000 assembler source files
  312. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  313. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  314. 4OCO4OD_
  315. CO3?CODO
  316. 4ODO4OD_
  317. CO4?CODO
  318. 4OCO4OCOx
  319. CO3?CO4?
  320. 4O3O4O3Ox
  321. CO4?CO3O
  322. E_Uox
  323. U_V_w
  324. 4O3O4OCOx
  325. CO3?CO3O
  326. 4OCO4O3Ox
  327. 3?CODOCO4?COC?CO3?COC?
  328. DO4?CO4?3O3?CO4?3O4OCO
  329. ou/v?u?
  330. 4?CO4OCO3OCO3?CO3?CO4?
  331. CO4OD_4O3O4O3O4O3O3O3O
  332. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  333. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  334. UUUUUUUUUUU@
  335. @vnZjf
  336. ufeufV
  337. vvuwk
  338. UUUUUUUUUUX
  339. %a.out to Mach-O object file converter
  340. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  341. \margl40
  342. \margr40
  343. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b\i0\ulnone\fs24\fc0\cf0 atom
  344. \b0  converts the specified 4.3BSD a.out format object file to a Mach-O (Mach object) format file. Only ZMAGIC and OMAGIC a.out formats can be converted. ZMAGIC formats are converted to the Mach-O demand paged executable file type (MH_EXECUTE). OMAGIC formats are converted to the Mach-O relocatable file type (MH_OBJECT). The conversion involves adding a Mach-O header and load commands to the file, changing the types of symbol table entries, changing the symbolnum of local relocation entries, and converting symbol segments.
  345. -segcreate
  346. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  347. \margl40
  348. \margr40
  349. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Create a section, sect, in the segment, seg, that contains the contents of file. The resulting section size is rounded to a multiple of 4 bytes and the resulting segment is rounded to a multiple of the page size (8192 bytes). More than one section can be created in the same segment. This is the same as the ld(1) -segcreate option
  350. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  351. \margl40
  352. \margr40
  353. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 The segment to create a section in
  354. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  355. \margl40
  356. \margr40
  357. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The section to create
  358. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  359. \margl40
  360. \margr40
  361. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The contents of this file will be placed in the section
  362. -objc
  363. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  364. \margl40
  365. \margr40
  366. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Create the Objective-C sections for relocatable object files (OMAGIC files). This has a known bug in converting the local relocation entries. If a local relocation entry's item to be relocated is a symbol's value plus an offset it can be converted to be relative to the wrong section if the value of the expression is not in the same section as the value of the symbol. This can't be fixed because object files lack the information of what symbol's value make up the expression. This is done correctly in the assembler when the file is assembled and a Mach-O file is created
  367. &{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  368. \margl40
  369. \margr40
  370. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Copy the symsegs created by the obsolete -gg option of cc(1) into the output. Symsegs are obsolete, and this is not the default
  371. a.out
  372. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  373. \margl40
  374. \margr40
  375. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 The standard Unix object file
  376. Mach-O
  377. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  378. \margl40
  379. \margr40
  380. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 The Mach-O object file
  381. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  382. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  383. 4OCO4OD_
  384. CO3?CODO
  385. 4ODO4OD_
  386. CO4?CODO
  387. 4OCO4OCOx
  388. CO3?CO4?
  389. 4O3O4O3Ox
  390. CO4?CO3O
  391. E_Uox
  392. U_V_w
  393. 4O3O4OCOx
  394. CO3?CO3O
  395. 4OCO4O3Ox
  396. 3?CODOCO4?COC?CO3?COC?
  397. DO4?CO4?3O3?CO4?3O4OCO
  398. ou/v?u?
  399. 4?CO4OCO3OCO3?CO3?CO4?
  400. CO4OD_4O3O4O3O4O3O3O3O
  401. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  402. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  403. UUUUUUUUUUU@
  404. @vnZjf
  405. ufeufV
  406. vvuwk
  407. UUUUUUUUUUX
  408. bugfiler
  409. )file bug reports in folders automatically
  410. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  411. \margl40
  412. \margr40
  413. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b\i0\ulnone\fs24\fc0\cf0 bugfiler
  414. \b0  is a program to automatically intercept bug reports, summarize them and store them in the appropriate sub directories of the mail directory specified on the command line or the (system dependent) default. It is designed to be compatible with the Rand MH mail system. Bugfiler is normally invoked by the mail delivery program through aliases(5) with a line such as the following in /etc/sendmail/aliases. bugs:"|bugfiler /usr/bugs/mail" It reads the message from the standard input or the named file, checks the format and returns mail acknowledging receipt or a message indicating the proper format. Valid reports are then summarized and filed in the appropriate folder; improperly formatted messages are filed in a folder named ``errors.'' Program maintainers can then log onto the system and check the summary file for bugs that pertain to them. Bug reports should be submitted in RFC822 format and aremust contain the following header lines to be properly indexed: Date: <date the report is received> From: <valid return address> Subject: <short summary of the problem> Index: <source directory>/<source file> <version> [Fix] In addition, the body of the message must contain a line which begins with ``Description:'' followed by zero or more lines describing the problem in detail and a line beginning with ``Repeat-By:'' followed by zero or more lines describing how to repeat the problem. If the keyword `Fix' is specified in the `Index' line, then there must also be a line beginning with ``Fix:'' followed by a diff of the old and new source files or a description of what was done to fix the problem. The `Index' line is the key to the filing mechanism. The source directory name must match one of the folder names in the mail directory. The message is then filed in this folder and a line appended to the summary file in the following format: <folder name>/<message number> <Index info> <Subject info> The bug report may also be redistributed according to the index. If the file maildir/.redist exists, it is examined for a line beginning with the index name followed with a tab. The remainder of this line contains a comma-separated list of mail addresses which should receive copies of bugs with this index. The list may be continued onto multiple lines by ending each but the last with a backslash (`\\').
  415. mail_directory
  416. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  417. \margl40
  418. \margr40
  419. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The mail directory to store the subdirectories containing bug reports
  420. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  421. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  422. 4OCO4OD_
  423. CO3?CODO
  424. 4ODO4OD_
  425. CO4?CODO
  426. 4OCO4OCOx
  427. CO3?CO4?
  428. 4O3O4O3Ox
  429. CO4?CO3O
  430. E_Uox
  431. U_V_w
  432. 4O3O4OCOx
  433. CO3?CO3O
  434. 4OCO4O3Ox
  435. 3?CODOCO4?COC?CO3?COC?
  436. DO4?CO4?3O3?CO4?3O4OCO
  437. ou/v?u?
  438. 4?CO4OCO3OCO3?CO3?CO4?
  439. CO4OD_4O3O4O3O4O3O3O3O
  440. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  441. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  442. UUUUUUUUUUU@
  443. @vnZjf
  444. ufeufV
  445. vvuwk
  446. UUUUUUUUUUX
  447. C program beautifier
  448. D{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  449. \margl40
  450. \margr40
  451. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b\i0\ulnone\fs24\fc0\cf0 cb
  452. \b0  places a copy of the C program from the standard input on the standard output with spacing and indentation that displays the structure of the program.
  453. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  454. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  455. 4OCO4OD_
  456. CO3?CODO
  457. 4ODO4OD_
  458. CO4?CODO
  459. 4OCO4OCOx
  460. CO3?CO4?
  461. 4O3O4O3Ox
  462. CO4?CO3O
  463. E_Uox
  464. U_V_w
  465. 4O3O4OCOx
  466. CO3?CO3O
  467. 4OCO4O3Ox
  468. 3?CODOCO4?COC?CO3?COC?
  469. DO4?CO4?3O3?CO4?3O4OCO
  470. ou/v?u?
  471. 4?CO4OCO3OCO3?CO3?CO4?
  472. CO4OD_4O3O4O3O4O3O3O3O
  473. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  474. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  475. UUUUUUUUUUU@
  476. @vnZjf
  477. ufeufV
  478. vvuwk
  479. UUUUUUUUUUX
  480. GNU C Compiler
  481. |{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  482. \margl40
  483. \margr40
  484. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b\i0\ulnone\fs24\fc0\cf0 cc
  485. \b0  is the GNU C compiler, which translates programs written in the C programming language into executable load modules, or into relocatable binary programs for subsequent loading with the ld(1) linker. The GNU C compiler uses a command syntax much like the UNIX C compiler. The cc program accepts options and file names as operands. Multiple single-letter options may not be grouped: `-dr' is very different from `-d -r'. When you invoke GNU CC, it normally does preprocessing, compilation, assembly and linking. File names which end in `.c' are taken as C source to be preprocessed and compiled; compiler output files plus any input files with names ending in `.s' are assembled; then the resulting object files, plus any other input files, are linked together to produce an executable. Command options allow you to stop this process at an intermediate stage. For example, the `-c' option says not to run the linker. Then the output consists of object files output by the assembler. Other command options are passed on to one stage. Some options control the preprocessor and others the compiler itself. GNU CC on the NeXT Computer has been substantially modified and extended by NeXT Computer, Inc. to support the use of Objective-C and Mach. For documentation, see the NeXT Developer's Library (accessible through the NeXT Developer target of the Digital Librarian).\
  486. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\fc0\cf0 If you add segments to Mach-O files with the -segcreate  flag, the contents of file-name go into the segment (the cc command also understands this set of flags). This will also work with atom, the "a.out to Mach-O" converter. These segments are mapped into the address space of the executable, and the contents can be read (and written) by the executable. Note that if you write it, it doesn't go back into the executable. It's just like initialized data (copy-on-write). It's intended to be used for things such as the icons and the archive.
  487. [62@]
  488. n{\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  489. \margl40
  490. \margr40
  491. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Place output in file file. This applies to whatever type of output is being produced; it could be an executable file, an object file, an assembler file, or preprocessed C code
  492. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  493. \margl40
  494. \margr40
  495. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 The file to put the output into
  496. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  497. \margl40
  498. \margr40
  499. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Compile or assemble the source files, but don't link. Produce object files with names made by replacing ".c" or ".s" with ".o" at the end of the input file names. Do nothing at all to object files specified as input
  500. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  501. \margl40
  502. \margr40
  503. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Compile into assembler code but don't assemble. The assembler output file name is made by replacing ".c" with ".s" at the end of the input file name. Do nothing at all to assembler source files or object files specified as input
  504. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  505. \margl40
  506. \margr40
  507. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Run only the C preprocessor. Preprocess the C source files and direct the results to the standard output
  508. {{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  509. \margl40
  510. \margr40
  511. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Compile verbosely. The compiler driver program prints the commands it executes as it runs the preprocessor, compiler proper, assembler, and linker. Some of these are directed to print their own version numbers
  512. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  513. \margl40
  514. \margr40
  515. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Show timing information for each of the passes run by the cc command
  516. ${\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  517. \margl40
  518. \margr40
  519. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Compiler driver program tries prefix as a prefix for each program it tries to run. These programs are cpp, cc1, as, and ld
  520. prefix
  521. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  522. \margl40
  523. \margr40
  524. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The prefix for each program
  525. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  526. \margl40
  527. \margr40
  528. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Tell the preprocessor not to discard comments. Used with the -E option
  529. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  530. \margl40
  531. \margr40
  532. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Search the directory dir for header files
  533. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  534. \margl40
  535. \margr40
  536. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The directory to search for header files
  537. d{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  538. \margl40
  539. \margr40
  540. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Any directories specified with -I options before the -Ioption are searched only for the case of #include "file"; they aren't searched for #include <file>.\
  541.  If additional directories are specified with -I options after the -I-, these directories are searched for all #include directives. (Ordinarily all -I directories are used this way.)\
  542.  In addition, the -Ioption inhibits the use of the current directory as the first search directory for #include "file". Therefore, the current directory is searched only if it's requested explicitly with a -I. option. Specifying both -Iand -I. allows you to control precisely which directories are searched before the current one and which are searched after
  543.     -nostdinc
  544. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  545. \margl40
  546. \margr40
  547. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Don't search the standard system directories for header files. Only the directories you have specified with -I options (and the current directory, if appropriate) are searched.\
  548.  Between -nostdinc and -I-, you can eliminate all directories from the search path except those you specify
  549. S{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  550. \margl40
  551. \margr40
  552. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Tell the preprocessor to produce a rule suitable for make describing the dependencies of each source file. For each source file, the preprocessor produces one make rule whose target is the object file name for that source file and whose dependencies are all the files #included in it. This rule may be a single line or may be continued with backslash-newline if it's long. -M implies -E (that is, run only the C preprocessor)
  553. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  554. \margl40
  555. \margr40
  556. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 This is similar to -M, but it turns on the Mach-style make-depend switch, which writes dependency information to file
  557. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  558. \margl40
  559. \margr40
  560. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file to write dependency information to
  561. x{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  562. \margl40
  563. \margr40
  564. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Like -M but the output mentions only the user-header files included with #include "file". System header files included with #include <file> are omitted. -MM implies -E (that is, run only the C preprocessor)
  565. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  566. \margl40
  567. \margr40
  568. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 This is similar to -MM, but it uses the Mach-style make-depend switch, which writes dependency information to file
  569. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  570. \margl40
  571. \margr40
  572. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Define macro macro with definition definition (or an empty string if definition is not specified)
  573. macro
  574. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  575. \margl40
  576. \margr40
  577. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The macro to define
  578. definition
  579. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  580. \margl40
  581. \margr40
  582. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The macro's definition
  583. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  584. \margl40
  585. \margr40
  586. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Undefine macro macro
  587. 6{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  588. \margl40
  589. \margr40
  590. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Support ANSI C trigraphs (the -ansi option also has this effect). Trigraphs are three-character sequences, all starting with ??, that are defined by ANSI C to stand for single characters (these sequences allow users to use the full range of C characters, even if their keyboards don't implement the full C character set). For example, ??/ stands for \\ so ??/n is a character constant for newline
  591. -ansi
  592. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  593. \margl40
  594. \margr40
  595. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Support all ANSI standard C programs. This turns off certain features of GNU C that are incompatible with ANSI C, and enables the infrequently used ANSI trigraph feature.\
  596.  The -ansi option doesn't cause non-ANSI programs to be rejected gratuitously. For that, -pedantic is required in addition to -ansi.\
  597.  The macro __STRICT_ANSI__ is predefined when the -ansi option is used. Some header files may notice this macro and refrain from declaring certain functions or defining certain macros that the ANSI standard doesn't call for; this is to avoid interfering with any programs that might use these names for other things
  598. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  599. \margl40
  600. \margr40
  601. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Enforce strict BSD semantics. When the -bsd option is used, the macro __STRICT_BSD__ is predefined in the preprocessor. Some header files may notice this macro and refrain from declaring certain functions or defining certain macros
  602. -traditional
  603. ({\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  604. \margl40
  605. \margr40
  606. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Attempt to support some aspects of traditional C compilers. Specifically:\
  607. All extern declarations take effect globally even if they're written inside a function definition. This includes implicit declarations of functions.\
  608. The keywords typeof, inline, signed, const, and volatile aren't recognized.\
  609. Comparisons between pointers and integers are always allowed.\
  610. Integer types unsigned short and unsigned char promote to unsigned int.\
  611. Out-of-range floating-point literals aren't an error.\
  612. In the preprocessor, comments convert to nothing at all, rather than to a space. This allows traditional token concatenation.\
  613. In the preprocessor, single and double quotation marks are ignored when scanning macro definitions, so that macro arguments can be replaced even within a string or character constant. Quotation marks are also ignored when skipping text inside a failing conditional directive
  614. -ObjC
  615. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  616. \margl40
  617. \margr40
  618. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Compile a source file that contains Objective-C code (the file can have either a ".c" or ".m" extension)
  619. #{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  620. \margl40
  621. \margr40
  622. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Optimize. Optimizing compilation takes somewhat more time, and a lot more memory for a large function.\
  623. Without -O, the compiler's goal is to reduce the cost of compilation and to make debugging produce the expected results. With -O, the compiler tries to reduce code size and execution time. Some of the -f options described below turn specific kinds of optimization on or off
  624. h{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  625. \margl40
  626. \margr40
  627. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Produce debugging information in GDB format. This option greatly reduces debugger startup time because the symbol table information is stored in the executable file.\
  628. Unlike most other C compilers, GNU CC allows you to use -g with -O. The shortcuts taken by optimized code may occasionally produce surprising results: some variables you declared may not exist at all; flow of control may briefly move where you didn't expect it; some statements may not be executed because they compute constant results or their values were already at hand; some statements may execute in different places because they were moved out of loops. Nevertheless, this makes it possible to debug optimized output if necessary
  629. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  630. \margl40
  631. \margr40
  632. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Inhibit all warning messages
  633. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  634. \margl40
  635. \margr40
  636. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Print extra warning messages if automatic variables are used without first being initialized.\
  637. These warnings are possible only in optimizing compilation, because they require data flow information that's computed only when optimizing. They occur only for variables that are candidates for register allocation. Therefore, they don't occur for a variable that's declared volatile, or whose address is taken, or whose size is other than 1, 2, 4, or 8 bytes. Also, they don't occur for structures, unions, or arrays, even when they're in registers
  638. -Wimplicit
  639. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  640. \margl40
  641. \margr40
  642. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Warn whenever a function is implicitly declared
  643. -Wreturn-type
  644. [{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  645. \margl40
  646. \margr40
  647. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Warn whenever a function is defined with a return type that defaults to int. Also warn about any return statement with no return value in a function whose return type isn't void
  648. -Wunused
  649. +{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  650. \margl40
  651. \margr40
  652. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Warn whenever a local variable is unused aside from its declaration, and whenever a function is declared static but never defined
  653. -Wall
  654. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  655. \margl40
  656. \margr40
  657. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 All the above -W options combined
  658. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  659. \margl40
  660. \margr40
  661. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Generate extra code to write profile information suitable for the analysis program gprof
  662. a{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  663. \margl40
  664. \margr40
  665. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Search a standard list of directories for a library named library, which is actually a file named liblibrary.a. The linker uses this file as if it had been specified precisely by name
  666. library
  667. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  668. \margl40
  669. \margr40
  670. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The name of the library to look for
  671. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  672. \margl40
  673. \margr40
  674. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Add directory dir to the list of directories to be searched for by -l
  675. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  676. \margl40
  677. \margr40
  678. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The directory to be added to the search list
  679.     -nostdlib
  680. 7{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  681. \margl40
  682. \margr40
  683. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Don't use the standard system libraries and startup files when linking. Only the files you specify (plus gnulib) will be passed to the linker
  684. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  685. \margl40
  686. \margr40
  687. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Make debugging dumps at times specified by options
  688. options
  689. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  690. \margl40
  691. \margr40
  692. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 Dump after RTL generation
  693. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  694. \margl40
  695. \margr40
  696. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Dump after first jump optimization
  697. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  698. \margl40
  699. \margr40
  700. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Dump after last jump optimization
  701. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  702. \margl40
  703. \margr40
  704. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Dump after CSE
  705. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  706. \margl40
  707. \margr40
  708. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Dump after loop optimization
  709. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  710. \margl40
  711. \margr40
  712. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Dump after flow analysis
  713. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  714. \margl40
  715. \margr40
  716. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Dump after instruction combination
  717. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  718. \margl40
  719. \margr40
  720. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Dump after local register allocation
  721. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  722. \margl40
  723. \margr40
  724. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Dump after global register allocation
  725. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  726. \margl40
  727. \margr40
  728. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Print statistics on memory usage, at the end of the run
  729.     -pedantic
  730. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  731. \margl40
  732. \margr40
  733. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Issue all the warnings demanded by strict ANSI standard C; reject all programs that use forbidden extensions.\
  734.  Valid ANSI standard C programs should compile properly with or without this option (though a rare few will require -ansi). However, without this option, certain GNU extensions and traditional C features are supported as well. With this option, they're rejected
  735. -fflag
  736. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  737. \margl40
  738. \margr40
  739. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Specify machine-independent flags
  740. -ffloat-store
  741. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  742. \margl40
  743. \margr40
  744. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Don't store floating-point variables in registers. This prevents undesirable excess precision due to the floating registers keeping more precision than a double is supposed to have.\
  745. For most programs, the excess precision does no harm, but a few programs rely on the precise definition of IEEE floating point. Use -ffloat-store for such programs
  746. -fno-asm
  747. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  748. \margl40
  749. \margr40
  750. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Don't recognize asm, inline, or typeof as a keyword. These words may then be used as identifiers
  751. -fno-defer-pop
  752. ~{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  753. \margl40
  754. \margr40
  755. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Always pop the arguments to each function call as soon as that function returns. Normally the compiler (when optimizing) lets arguments accumulate on the stack for several function calls and pops them all at once
  756. -fcombine-regs
  757. I{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  758. \margl40
  759. \margr40
  760. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Allow the combine pass to combine an instruction that copies one register into another. This might or might not produce better code when used in addition to -O
  761. -fforce-mem
  762. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  763. \margl40
  764. \margr40
  765. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Force memory operands to be copied into registers before doing arithmetic on them. This may produce better code by making all memory references potential common subexpressions. When they aren't common subexpressions, instruction combination should eliminate the separate register-load
  766. -fforce-addr
  767. :{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  768. \margl40
  769. \margr40
  770. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Force memory address constants to be copied into registers before doing arithmetic on them. This may produce better code just as -fforce-mem may
  771. -fomit-frame-pointer
  772. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  773. \margl40
  774. \margr40
  775. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Don't keep the frame pointer in a register for functions that don't need one. This avoids the instructions to save, set up and restore frame pointers; it also makes an extra register available in many functions. It also makes debugging impossible
  776. -finline-functions
  777. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  778. \margl40
  779. \margr40
  780. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Integrate all simple functions into their callers. The compiler decides which functions are simple enough to be worth integrating.\
  781.  If all calls to a given function are integrated, and the function is declared static, then the function normally isn't produced as assembler code in its own right
  782. -fkeep-inline-functions
  783. B{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  784. \margl40
  785. \margr40
  786. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Produce a separate run-time callable version of the function. Do so even if all calls to the function are integrated and the function is declared static
  787. -fwritable-strings
  788. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  789. \margl40
  790. \margr40
  791. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Store string constants in the writable data segment and don't make them unique. This is for compatibility with old programs that assume they can write into string constants. Writing into string constants is a very bad idea; "constants" should be constant
  792. -fno-function-cse
  793. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  794. \margl40
  795. \margr40
  796. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Don't put function addresses in registers; make each instruction that calls a constant function contain the function's address explicitly.\
  797.  This option results in less efficient code, but some strange hacks that alter the assembler output may be confused by the optimizations performed when this option isn't used
  798. -fvolatile
  799. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  800. \margl40
  801. \margr40
  802. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Consider all memory references through pointers to be volatile
  803. -funsigned-char
  804. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  805. \margl40
  806. \margr40
  807. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Let the type char default to unsigned, like unsigned charFr, rather than signed like signed char
  808. -fsigned-char
  809. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  810. \margl40
  811. \margr40
  812. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Let the type char default to signed, like signed char
  813. -ffixed-reg
  814. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  815. \margl40
  816. \margr40
  817. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Treat the register reg as a fixed register; generated code should never refer to it (except perhaps as a stack pointer, frame pointer or in some other fixed role).\
  818. reg must be the name of a register. The register names accepted are machine-specific and are defined in the REGISTER_NAMES macro in the machine description macro file
  819. -fcall-used-reg
  820. D{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  821. \margl40
  822. \margr40
  823. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Treat the register reg as an allocatable register that's clobbered by function calls. It may be allocated for temporaries or variables that don't live across a call. Functions compiled this way won't save and restore the register reg.\
  824.  Use of this flag for a register that has a fixed pervasive role in the machine's execution model, such as the stack pointer or frame pointer, will produce disastrous results
  825. -fcall-saved-reg
  826. ]{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  827. \margl40
  828. \margr40
  829. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Treat the register reg as an allocatable register saved by functions. It may be allocated even for temporaries or variables that live across a call. Functions compiled this way will save and restore the register reg if they use it.\
  830. Never use this flag for a register that has a fixed pervasive role in the machine's execution model, such as the stack pointer or frame pointer, or in a register in which function values may be returned
  831. -Mach
  832. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  833. \margl40
  834. \margr40
  835. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Create a Mach-O executable format file. This is now the default format, rather than 4.3BSD a.out files
  836. `{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  837. \margl40
  838. \margr40
  839. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Create a segment named segment and a section named section in that segment containing the contents of file. The known segments __TEXT and __DATA shouldn't be used as the segment name
  840. segment
  841. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  842. \margl40
  843. \margr40
  844. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The segment name to create
  845. section
  846. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  847. \margl40
  848. \margr40
  849. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The section to create the new segment in
  850. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  851. \margl40
  852. \margr40
  853. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file contents to put in the newly created segment
  854. -Ttext
  855. 5{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  856. \margl40
  857. \margr40
  858. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Set the start of the text segment to hex-number, which must be a multiple of 8192. The default starting address of the text segment is 8192
  859. hex-number
  860. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  861. \margl40
  862. \margr40
  863. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The hex number to start the text segment at
  864. -Tdata
  865. j{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  866. \margl40
  867. \margr40
  868. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Set the start of data to hex-number, which must be a multiple of 8192. The default starting address of the data segment is the last address of the text segment rounded up to a multiple of 8192
  869. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  870. \margl40
  871. \margr40
  872. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The hex number to start the data segment at
  873. -ident
  874.  {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  875. \margl40
  876. \margr40
  877. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Create an ident command in the resulting Mach-O output file and place the string arguments of all -ident options in it
  878. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  879. \margl40
  880. \margr40
  881. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The arguments to place
  882. 3{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  883. \margl40
  884. \margr40
  885. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Change original-symbol-name in the input ".o" files to alias-symbol-name in the final a.out. The original symbol name must not be defined
  886. original-symbol-name
  887. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  888. \margl40
  889. \margr40
  890. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The original symbol name
  891. alias-symbol-name
  892. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  893. \margl40
  894. \margr40
  895. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The alias symbol name
  896. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  897. \margl40
  898. \margr40
  899. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Inhibit the searching of the default directories for -lx arguments
  900. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  901. \margl40
  902. \margr40
  903. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The source file(s) to compile
  904. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  905. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  906. 4OCO4OD_
  907. CO3?CODO
  908. 4ODO4OD_
  909. CO4?CODO
  910. 4OCO4OCOx
  911. CO3?CO4?
  912. 4O3O4O3Ox
  913. CO4?CO3O
  914. E_Uox
  915. U_V_w
  916. 4O3O4OCOx
  917. CO3?CO3O
  918. 4OCO4O3Ox
  919. 3?CODOCO4?COC?CO3?COC?
  920. DO4?CO4?3O3?CO4?3O4OCO
  921. ou/v?u?
  922. 4?CO4OCO3OCO3?CO3?CO4?
  923. CO4OD_4O3O4O3O4O3O3O3O
  924. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  925. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  926. UUUUUUUUUUU@
  927. @vnZjf
  928. ufeufV
  929. vvuwk
  930. UUUUUUUUUUX
  931. check in RCS revisions
  932. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  933. \margl40
  934. \margr40
  935. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b\i0\ulnone\fs24\fc0\cf0 ci
  936. \b0  stores new revisions into RCS files. Each file name ending in `,v' is taken to be an RCS file, all others are assumed to be working files containing new revisions. Ci deposits the contents of each working file into the corresponding RCS file. Pairs of RCS files and working files may be specified in 3 ways (see also the example section of co (1)).\
  937. 1) Both the RCS file and the working file are given. The RCS file name is of the form path1/workfile,v and the working file name is of the form path2/workfile, where path1/ and path2/ are (possibly different or empty) paths and workfile is a file name.\
  938. 2) Only the RCS file is given. Then the working file is assumed to be in the current directory and its name is derived from the name of the RCS file by removing path1/ and the suffix `,v'.\
  939. 3) Only the working file is given. Then the name of the RCS file is derived from the name of the working file by removing path2/ and appending the suffix `,v'. If the RCS file is omitted or specified without a path, then ci looks for the RCS file first in the directory ./RCS and then in the current directory. For ci to work, the caller's login must be on the access list, except if the access list is empty or the caller is the superuser or the owner of the file. To append a new revision to an existing branch, the tip revision on that branch must be locked by the caller. Otherwise, only a new branch can be created. This restriction is not enforced for the owner of the file, unless locking is set to strict (see rcs (1)). A lock held by someone else may be broken with the rcs command.
  940. [11@]
  941. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  942. \margl40
  943. \margr40
  944. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Assigns the revision number rev to the checked-in revision, releases the corresponding lock, and deletes the working file. This is also the default.\
  945.  If rev is omitted, ci derives the new revision number from the caller's last lock. If the caller has locked the tip revision of a branch, the new revision is appended to that branch. The new revision number is obtained by incrementing the tip revision number. If the caller locked a non-tip revision, a new branch is started at that revision by incrementing the highest branch number at that revision. The default initial branch and level numbers are 1. If the caller holds no lock, but he is the owner of the file and locking is not set to strict, then the revision is appended to the trunk.\
  946.  If rev indicates a revision number, it must be higher than the latest one on the branch to which rev belongs, or must start a new branch.\
  947.  If rev indicates a branch instead of a revision, the new revision is appended to that branch. The level number is obtained by incrementing the tip revision number of that branch. If rev indicates a non-existing branch, that branch is created with the initial revision numbered rev.1.\
  948.  Exception: On the trunk, revisions can be appended to the end, but not inserted
  949. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  950. \margl40
  951. \margr40
  952. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The revision number
  953. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  954. \margl40
  955. \margr40
  956. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 Forces a deposit; the new revision is deposited even it is not different from the preceding one
  957. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  958. \margl40
  959. \margr40
  960. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Searches the working file for keyword values to determine its revision number, creation date, author, and state (see co (1)), and assigns these values to the deposited revision, rather than computing them locally. A revision number given by a command option overrides the number in the working file. This option is useful for software distribution. A revision that is sent to several sites should be checked in with the -k option at these sites to preserve its original number, date, author, and state
  961. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  962. \margl40
  963. \margr40
  964. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Works like -r, except it performs an additional co -l for the deposited revision. Thus, the deposited revision is immediately checked out again and locked. This is useful for saving a revision although one wants to continue editing it after the checkin
  965. H{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  966. \margl40
  967. \margr40
  968. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Works like -l, except that the deposited revision is not locked. This is useful if one wants to process (e.g., compile) the revision immediately after checkin
  969. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  970. \margl40
  971. \margr40
  972. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Aborts the deposit, if -q is omitted, then it asks whether it should abort the dposit or not
  973. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  974. \margl40
  975. \margr40
  976. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Uses the string msg as the log message for all revisions checked in
  977. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  978. \margl40
  979. \margr40
  980. \f0\b0\i0\ulnone\ql\fs24\fi0\li0\gray0\fc0\cf0\up0\dn0 The log message for all revisions checked in
  981. <{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  982. \margl40
  983. \margr40
  984. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Assigns the symbolic name 
  985. name to the number of the checked-in revision. Ci prints an error message if name is already assigned to another number
  986. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  987. \margl40
  988. \margr40
  989. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The name to be assigned to the number of the checked-in revision
  990. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  991. \margl40
  992. \margr40
  993. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Same as -n, except that it overrides a previous assignment of name
  994. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  995. \margl40
  996. \margr40
  997. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Sets the state of the checked-in revision to the identifier state. The default is Exp
  998. state
  999. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1000. \margl40
  1001. \margr40
  1002. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The state of the checked in revision
  1003. G{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1004. \margl40
  1005. \margr40
  1006. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Writes descriptive text into the RCS file (deletes the existing text). If txtfile is omitted, ci prompts the user for text supplied from the std. input, terminated with a line containing a single `.' or control-D. Otherwise, the descriptive text is copied from the file txtfile. During initialization, descriptive text is requested even if -t is not given. The prompt is suppressed if std. input is not a terminal
  1007. txtfile
  1008. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1009. \margl40
  1010. \margr40
  1011. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file to write the descriptive text into
  1012. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1013. \margl40
  1014. \margr40
  1015. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file(s) to check in
  1016. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  1017. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  1018. 4OCO4OD_
  1019. CO3?CODO
  1020. 4ODO4OD_
  1021. CO4?CODO
  1022. 4OCO4OCOx
  1023. CO3?CO4?
  1024. 4O3O4O3Ox
  1025. CO4?CO3O
  1026. E_Uox
  1027. U_V_w
  1028. 4O3O4OCOx
  1029. CO3?CO3O
  1030. 4OCO4O3Ox
  1031. 3?CODOCO4?COC?CO3?COC?
  1032. DO4?CO4?3O3?CO4?3O4OCO
  1033. ou/v?u?
  1034. 4?CO4OCO3OCO3?CO3?CO4?
  1035. CO4OD_4O3O4O3O4O3O3O3O
  1036. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  1037. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  1038. UUUUUUUUUUU@
  1039. @vnZjf
  1040. ufeufV
  1041. vvuwk
  1042. UUUUUUUUUUX
  1043. check out RCS revisions
  1044.     u{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1045. \margl40
  1046. \margr40
  1047. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b\i0\ulnone\fs24\fc0\cf0 co
  1048. \b0  retrieves revisions from RCS files. Each file name ending in `,v' is taken to be an RCS file. All other files are assumed to be working files. Co retrieves a revision from each RCS file and stores it into the corresponding working file. Pairs of RCS files and working files may be specified in 3 ways (see also the example section).\
  1049. 1) Both the RCS file and the working file are given. The RCS file name is of the form path1/workfile,v and the working file name is of the form path2/workfile, where path1/ and path2/ are (possibly different or empty) paths and workfile is a file name.\
  1050. 2) Only the RCS file is given. Then the working file is created in the current directory and its name is derived from the name of the RCS file by removing path1/ and the suffix `,v'.\
  1051. 3) Only the working file is given. Then the name of the RCS file is derived from the name of the working file by removing path2/ and appending the suffix `,v'.\
  1052. If the RCS file is omitted or specified without a path, then co looks for the RCS file first in the directory ./RCS and then in the current directory.\
  1053. Revisions of an RCS file may be checked out locked or unlocked. Locking a revision prevents overlapping updates. A revision checked out for reading or processing (e.g., compiling) need not be locked. A revision checked out for editing and later checkin must normally be locked. Locking a revision currently locked by another user fails. (A lock may be broken with the rcs (1) command.) Co with locking requires the caller to be on the access list of the RCS file, unless he is the owner of the file or the superuser, or the access list is empty. Co without locking is not subject to accesslist restrictions.\
  1054. A revision is selected by number, checkin date/time, author, or state. If none of these options are specified, the latest revision on the trunk is retrieved. When the options are applied in combination, the latest revision that satisfies all of them is retrieved. The options for date/time, author, and state retrieve a revision on the selected branch. The selected branch is either derived from the revision number (if given), or is the highest branch on the trunk. A revision number may be attached to one of the options -l, -p, -q, or -r.
  1055. W{\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  1056. \margl40
  1057. \margr40
  1058. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Locks the checked out revision for the caller. If omitted, the checked out revision is not locked. See option -r for handling of the revision number rev
  1059. 6{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1060. \margl40
  1061. \margr40
  1062. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Prints the retrieved revision on the std. output rather than storing it in the working file. This option is useful when co is part of a pipe
  1063. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1064. \margl40
  1065. \margr40
  1066. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Quiet mode; diagnostics are not printed
  1067. 9{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1068. \margl40
  1069. \margr40
  1070. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Retrieves the latest revision on the selected branch whose checkin date/time is less than or equal to date. The date and time may be given in free format and are converted to local time. Examples of formats for date: 22-April-1982, 17:20-CDT, 2:25 AM, Dec. 29, 1983, Tue-PDT, 1981, 4pm Jul 21 (free format), Fri, April 16 15:52:25 EST 1982 (output of ctime). Most fields in the date and time may be defaulted. Co determines the defaults in the order year, month, day, hour, minute, and second (most to least significant). At least one of these fields must be provided. For omitted fields that are of higher significance than the highest provided field, the current values are assumed. For all other omitted fields, the lowest possible values are assumed. For example, the date "20, 10:30" defaults to 10:30:00 of the 20th of the current month and current year. The date/time must be quoted if it contains spaces
  1071. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1072. \margl40
  1073. \margr40
  1074. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The date to compare the revision's date against
  1075. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  1076. \margl40
  1077. \margr40
  1078. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Retrieves the latest revision whose number is less than or equal to rev. If rev indicates a branch rather than a revision, the latest revision on that branch is retrieved. Rev is composed of one or more numeric or symbolic fields separated by `.'. The numeric equivalent of a symbolic field is specified with the -n option of the commands ci and rcs
  1079. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1080. \margl40
  1081. \margr40
  1082. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Retrieves the latest revision on the selected branch whose state is set to state
  1083. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1084. \margl40
  1085. \margr40
  1086. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The state to match against
  1087. V{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1088. \margl40
  1089. \margr40
  1090. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Retrieves the latest revision on the selected branch which was checked in by the user with login name login. If the argument login is omitted, the caller's login is assumed
  1091. login
  1092. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1093. \margl40
  1094. \margr40
  1095. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The login name to compare against
  1096. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  1097. \margl40
  1098. \margr40
  1099. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Generates a new revision which is the join of the revisions on joinlist. Joinlist is a commaseparated list of pairs of the form rev2:rev3, where rev2 and rev3 are (symbolic or numeric) revision numbers. For the initial such pair, rev1 denotes the revision selected by the options -l, ..., -w. For all other pairs, rev1 denotes the revision generated by the previous pair. (Thus, the output of one join becomes the input to the next.) For each pair, co joins revisions rev1 and rev3 with respect to rev2. This means that all changes that transform rev2 into rev1 are applied to a copy of rev3. This is particularly useful if rev1 and rev3 are the ends of two branches that have rev2 as a common ancestor. If rev1 < rev2 < rev3 on the same branch, joining generates a new revision which is like rev3, but with all changes that lead from rev1 to rev2 undone. If changes from rev2 to rev1 overlap with changes from rev2 to rev3, co prints a warning and includes the overlapping sections, delimited by the lines <<<<<<< rev1, =======, and >>>>>>> rev3. For the initial pair, rev2 may be omitted. The default is the common ancestor. If any of the arguments indicate branches, the latest revisions on those branches are assumed. If the option -l is present, the initial rev1 is locked
  1100. Joinlist
  1101. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1102. \margl40
  1103. \margr40
  1104. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The list of revisions to make a join from
  1105. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1106. \margl40
  1107. \margr40
  1108. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file(s) to check out
  1109. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  1110. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  1111. 4OCO4OD_
  1112. CO3?CODO
  1113. 4ODO4OD_
  1114. CO4?CODO
  1115. 4OCO4OCOx
  1116. CO3?CO4?
  1117. 4O3O4O3Ox
  1118. CO4?CO3O
  1119. E_Uox
  1120. U_V_w
  1121. 4O3O4OCOx
  1122. CO3?CO3O
  1123. 4OCO4O3Ox
  1124. 3?CODOCO4?COC?CO3?COC?
  1125. DO4?CO4?3O3?CO4?3O4OCO
  1126. ou/v?u?
  1127. 4?CO4OCO3OCO3?CO3?CO4?
  1128. CO4OD_4O3O4O3O4O3O3O3O
  1129. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  1130. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  1131. UUUUUUUUUUU@
  1132. @vnZjf
  1133. ufeufV
  1134. vvuwk
  1135. UUUUUUUUUUX
  1136. ctags
  1137. create a tags file
  1138. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1139. \margl40
  1140. \margr40
  1141. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b\i0\ulnone\fs24\fc0\cf0 ctags
  1142. \b0  creates a file called tags from the specified C, Objective-C, Yacc, Lex, Pascal, Fortran or Lisp source files. The tags file is a sorted index giving the locations of object declarations in files, as well as type information, cross references, etc. Objects include functions, procedures, global variables, macros, structs, typedefs, yacc tokens, methods, and classes. This information is used by ptags(1), and by the editors ex, vi, and fred(1) to quickly find object declarations and trace calling relationships. Each line in the tags file contains the object name, the file in which it is declared, a location (regular expression or line number), the type of the object (function, macro, typedef, struct, global, method, class, null), the length of the object (in lines), a caller reference list, and a callee reference list. Fields are separated by whitespace (except for the address and the rest of the line, which are separated by "; to fool vi(1)), and caller/callee lists are enclosed in braces. Files whose names end in .c or .h are assumed to be C source files; .m are assumed to be Objective-C source files; .l implies Lisp or Lex source; .y implies Yacc source; Others are scanned for Pascal or Fortran definitions; if none are found, C is assumed. Tags for main are treated specially in C programs: the tag is named Mfile, making ctags useful in directories with more than one main program. The first main function found is also tagged simply as ``main.'' Multiple links to a file are only indexed once.
  1143. [15@]
  1144. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  1145. \margl40
  1146. \margr40
  1147. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Add references to the tags file (don't overwrite it)
  1148. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1149. \margl40
  1150. \margr40
  1151. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Use backward searching patterns (?...?, instead of the forward /.../ default)
  1152. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1153. \margl40
  1154. \margr40
  1155. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Create index entries for duplicate declarations (duplicates are ignored by default, except for Objective C)
  1156. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1157. \margl40
  1158. \margr40
  1159. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Read input file names from infile
  1160. infile
  1161. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1162. \margl40
  1163. \margr40
  1164. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file to read input file names from
  1165. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1166. \margl40
  1167. \margr40
  1168. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Suppress tags for global variables
  1169. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1170. \margl40
  1171. \margr40
  1172. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Suppress tags for parameterless #define macros
  1173. .{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1174. \margl40
  1175. \margr40
  1176. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Limit the length of callee/caller reference lists to maxrefs (60 by default). Longer lists are truncated, with (etc) ending the list
  1177. maxrefs
  1178. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1179. \margl40
  1180. \margr40
  1181. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The limit for callee/caller reference lists
  1182. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1183. \margl40
  1184. \margr40
  1185. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Write tags to the file output (tags by default)
  1186. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1187. \margl40
  1188. \margr40
  1189. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Suppress generation of caller/callee reference lists, and printing of object lengths
  1190. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1191. \margl40
  1192. \margr40
  1193. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Suppress tags for structs, unions, and enums
  1194. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1195. \margl40
  1196. \margr40
  1197. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Suppress tags for typedefs (Note: the sense of this is reversed in older versions of ctags)
  1198. M{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1199. \margl40
  1200. \margr40
  1201. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Update the specified files; that is, delete all old references in the tags file and append any new ones. (Note: simply rebuilding the tags file is usually faster.)
  1202. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1203. \margl40
  1204. \margr40
  1205. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Write an index for vgrind(1) on the standard output. This listing contains object name, file name, and page number (64 line pages are assumed). Output is sorted lexicographically, so sort -f may be useful: ctags -v files | sort -f > index vgrind -x index This option implies -g, -m, -r, -s, -t, and -x
  1206. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1207. \margl40
  1208. \margr40
  1209. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Suppress warning diagnostics
  1210. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1211. \margl40
  1212. \margr40
  1213. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Print a list containing object names, the line number and file in which each is defined, and the text of that line on the standard output. This is a simple index fit for humans. This option implies -g, -m, -r, -s, and -t
  1214. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1215. \margl40
  1216. \margr40
  1217. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file(s) to generate tags for
  1218. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  1219. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  1220. 4OCO4OD_
  1221. CO3?CODO
  1222. 4ODO4OD_
  1223. CO4?CODO
  1224. 4OCO4OCOx
  1225. CO3?CO4?
  1226. 4O3O4O3Ox
  1227. CO4?CO3O
  1228. E_Uox
  1229. U_V_w
  1230. 4O3O4OCOx
  1231. CO3?CO3O
  1232. 4OCO4O3Ox
  1233. 3?CODOCO4?COC?CO3?COC?
  1234. DO4?CO4?3O3?CO4?3O4OCO
  1235. ou/v?u?
  1236. 4?CO4OCO3OCO3?CO3?CO4?
  1237. CO4OD_4O3O4O3O4O3O3O3O
  1238. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  1239. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  1240. UUUUUUUUUUU@
  1241. @vnZjf
  1242. ufeufV
  1243. vvuwk
  1244. UUUUUUUUUUX
  1245. ctree
  1246. print C function-call trees
  1247. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1248. \margl40
  1249. \margr40
  1250. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b\i0\ulnone\fs24\fc0\cf0 ctree
  1251. \b0  uses the tags file produced by ctags(1) to print a display of the calling hierarchy in C programs. This can be used as a ``road map'' for browsing large or unfamiliar software systems. If no functions are given, all uncalled functions in the tags file (like main) are used. Options provide control over formatting.
  1252. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  1253. \margl40
  1254. \margr40
  1255. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Put each symbol on a new line, instead of the compact form above
  1256. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1257. \margl40
  1258. \margr40
  1259. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Suppress printing of functions
  1260. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1261. \margl40
  1262. \margr40
  1263. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Suppress printing of globals
  1264. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1265. \margl40
  1266. \margr40
  1267. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Suppress printing of macros
  1268. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1269. \margl40
  1270. \margr40
  1271. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Suppress printing of structs
  1272. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1273. \margl40
  1274. \margr40
  1275. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Suppress printing of typedefs
  1276. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1277. \margl40
  1278. \margr40
  1279. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Quiet don't print the type labels (#, ())
  1280. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1281. \margl40
  1282. \margr40
  1283. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Wrap lines greater than columns wide (default=80)
  1284. columns
  1285. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1286. \margl40
  1287. \margr40
  1288. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The number of columns
  1289. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1290. \margl40
  1291. \margr40
  1292. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Use indent as the indentation string (three spaces is the default)
  1293. indent
  1294. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1295. \margl40
  1296. \margr40
  1297. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The indentation string
  1298. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1299. \margl40
  1300. \margr40
  1301. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Limit the depth of the tree to level
  1302. level
  1303. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1304. \margl40
  1305. \margr40
  1306. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The level to limit the depth of the tree to
  1307. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1308. \margl40
  1309. \margr40
  1310. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Set the path of tag files searched to tagpath (the default is $TAGS, or failing that, tags)
  1311. tagpath
  1312. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1313. \margl40
  1314. \margr40
  1315. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The path of tag files
  1316.     functions
  1317. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1318. \margl40
  1319. \margr40
  1320. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The functions to produce a tree for
  1321. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  1322. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  1323. 4OCO4OD_
  1324. CO3?CODO
  1325. 4ODO4OD_
  1326. CO4?CODO
  1327. 4OCO4OCOx
  1328. CO3?CO4?
  1329. 4O3O4O3Ox
  1330. CO4?CO3O
  1331. E_Uox
  1332. U_V_w
  1333. 4O3O4OCOx
  1334. CO3?CO3O
  1335. 4OCO4O3Ox
  1336. 3?CODOCO4?COC?CO3?COC?
  1337. DO4?CO4?3O3?CO4?3O4OCO
  1338. ou/v?u?
  1339. 4?CO4OCO3OCO3?CO3?CO4?
  1340. CO4OD_4O3O4O3O4O3O3O3O
  1341. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  1342. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  1343. UUUUUUUUUUU@
  1344. @vnZjf
  1345. ufeufV
  1346. vvuwk
  1347. UUUUUUUUUUX
  1348. error
  1349. ,analyze and disperse compiler error messages
  1350. R{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1351. \margl40
  1352. \margr40
  1353. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b\i0\ulnone\fs24\fc0\cf0 error
  1354. \b0  analyzes and optionally disperses the diagnostic error messages produced by a number of compilers and language processors to the source file and line where the errors occurred. It can replace the painful, traditional methods of scribbling abbreviations of errors on paper, and permits error messages and source code to be viewed simultaneously without machinations of multiple windows in a screen editor.\
  1355. Error looks at the error messages, either from the specified file name or from the standard input, and attempts to determine which language processor produced each error message, determines the source file and line number to which the error message refers, determines if the error message is to be ignored or not, and inserts the (possibly slightly modified) error message into the source file as a comment on the line preceding to which the line the error message refers. Error messages which can't be categorized by language processor or content are not inserted into any file, but are sent to the standard output. Error touches source files only after all input has been read. By specifying the -q query option, the user is asked to confirm any potentially dangerous (such as touching a file) or verbose action. Otherwise error proceeds on its merry business. If the -t touch option and associated suffix list is given, error will restrict itself to touch only those files with suffices in the suffix list. Error also can be asked (by specifying -v) to invoke vi(1) on the files in which error messages were inserted; this obviates the need to remember the names of the files with errors.\
  1356. Error is intended to be run with its standard input connected via a pipe to the error message source. Some language processors put error messages on their standard error file; others put their messages on the standard output. Hence, both error sources should be piped together into error. For example, when using the csh syntax, make -s lint |& error -q -v will analyze all the error messages produced by whatever programs make runs when making lint. Error knows about the error messages produced by: make, cc, cpp, as, ld, lint, pi, pc, and f77. Error knows a standard format for error messages produced by the language processors, so is sensitive to changes in these formats. For all languages except Pascal, error messages are restricted to be on one line. Some error messages refer to more than one line in more than one files; error will duplicate the error message and insert it at all of the places referenced.\
  1357. Error will do one of six things with error messages.\
  1358. synchronize Some language processors produce short errors describing which file it is processing. Error uses these to determine the file name for languages that don't include the file name in each error message. These synchronization messages are consumed entirely by error.\
  1359. discard Error messages from lint that refer to one of the two lint libraries, /usr/lib/llib-lc and /usr/lib/llib-port are discarded, to prevent accidently touching these libraries. Again, these error messages are consumed entirely by error.\
  1360. nullify Error messages from lint can be nullified if they refer to a specific function, which is known to generate diagnostics which are not interesting. Nullified error messages are not inserted into the source file, but are written to the standard output. The names of functions to ignore are taken from either the file named .errorrc in the users's home directory, or from the file named by the -I option. If the file does not exist, no error messages are nullified. If the file does exist, there must be one function name per line.\
  1361. not file specific Error messages that can't be intuited are grouped together, and written to the standard output before any files are touched. They will not be inserted into any source file.\
  1362. file specific Error message that refer to a specific file, but to no specific line, are written to the standard output when that file is touched.\
  1363. true errors Error messages that can be intuited are candidates for insertion into the file to which they refer.\
  1364. Only true error messages are candidates for inserting into the file they refer to. Other error messages are consumed entirely by error or are written to the standard output. Error inserts the error messages into the source file on the line preceding the line the language processor found in error. Each error message is turned into a one line comment for the language, and is internally flagged with the string ``###'' at the beginning of the error, and ``%%%'' at the end of the error. This makes pattern searching for errors easier with an editor, and allows the messages to be easily removed. In addition, each error message contains the source line number for the line the message refers to. A reasonably formatted source program can be recompiled with the error messages still in it, without having the error messages themselves cause future errors. For poorly formatted source programs in free format languages, such as C or Pascal, it is possible to insert a comment into another comment, which can wreak havoc with a future compilation. To avoid this, programs with comments and source on the same line should be formatted so that language statements appear before comments.
  1365.     {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  1366. \margl40
  1367. \margr40
  1368. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Do not touch any files; all error messages are sent to the standard output
  1369. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1370. \margl40
  1371. \margr40
  1372. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 The user is queried whether s/he wants to touch the file. A ``y'' or ``n'' to the question is necessary to continue. Absence of the -q option implies that all referenced files (except those referring to discarded error messages) are to be touched
  1373. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1374. \margl40
  1375. \margr40
  1376. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 After all files have been touched, overlay the visual editor vi with it set up to edit all files touched, and positioned in the first touched file at the first error. If vi can't be found, try ex or ed from standard places
  1377. Y{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1378. \margl40
  1379. \margr40
  1380. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Take the following argument as a suffix list. Files whose suffixes do not appear in the suffix list are not touched. The suffix list is dot separated, and ``*'' wildcards work
  1381. suffixlist
  1382. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1383. \margl40
  1384. \margr40
  1385. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The suffix list
  1386. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1387. \margl40
  1388. \margr40
  1389. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Print out statistics regarding the error categorization. Not too useful
  1390. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1391. \margl40
  1392. \margr40
  1393. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Ignore a certain file when executing error
  1394. ignorefile
  1395. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1396. \margl40
  1397. \margr40
  1398. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file to ignore
  1399. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  1400. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  1401. 4OCO4OD_
  1402. CO3?CODO
  1403. 4ODO4OD_
  1404. CO4?CODO
  1405. 4OCO4OCOx
  1406. CO3?CO4?
  1407. 4O3O4O3Ox
  1408. CO4?CO3O
  1409. E_Uox
  1410. U_V_w
  1411. 4O3O4OCOx
  1412. CO3?CO3O
  1413. 4OCO4O3Ox
  1414. 3?CODOCO4?COC?CO3?COC?
  1415. DO4?CO4?3O3?CO4?3O4OCO
  1416. ou/v?u?
  1417. 4?CO4OCO3OCO3?CO3?CO4?
  1418. CO4OD_4O3O4O3O4O3O3O3O
  1419. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  1420. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  1421. UUUUUUUUUUU@
  1422. @vnZjf
  1423. ufeufV
  1424. vvuwk
  1425. UUUUUUUUUUX
  1426. GNU Debugger
  1427. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1428. \margl40
  1429. \margr40
  1430. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b\i0\ulnone\fs24\fc0\cf0 gdb
  1431. \b0  is a source-level symbolic debugger for C programs, created by Richard M. Stallman for the GNU Project and distributed by the Free Software Foundation. gdb has something of the flavor of dbx, but has more features and power. GDB is invoked with the shell command gdb. Once started, it reads commands from the terminal until you quit by giving the quit command. name is the name of your executable program, and core, if specified, is the name of the core dump file to be examined. gdb on the NeXT Computer has been substantially modified and extended by NeXT Computer, Inc. to support the use of Objective-C and Mach. For complete documentation, see the NeXT Developer's Library (accessible through the NeXT Developer target of the Digital Librarian).
  1432. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  1433. \margl40
  1434. \margr40
  1435. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Read symbol table from file
  1436. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1437. \margl40
  1438. \margr40
  1439. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file to read the symbol table from
  1440. "{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1441. \margl40
  1442. \margr40
  1443. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Use file as the executable file to execute when appropriate, and for examining pure data in conjunction with a core dump
  1444. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1445. \margl40
  1446. \margr40
  1447. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The executable file
  1448. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1449. \margl40
  1450. \margr40
  1451. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Read symbol table from file and use it as the executable file
  1452. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1453. \margl40
  1454. \margr40
  1455. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file containing the symbol table to use as the executable
  1456. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1457. \margl40
  1458. \margr40
  1459. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Use file as a core dump file to examine
  1460. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1461. \margl40
  1462. \margr40
  1463. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file to use as a core dump file
  1464. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1465. \margl40
  1466. \margr40
  1467. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Execute GDB commands from file
  1468. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1469. \margl40
  1470. \margr40
  1471. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file to execute GDB commands from
  1472. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1473. \margl40
  1474. \margr40
  1475. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Add directory to the path to search for source files
  1476.     directory
  1477. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1478. \margl40
  1479. \margr40
  1480. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The directory to add to the search path for source files
  1481. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1482. \margl40
  1483. \margr40
  1484. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The name of the executable program
  1485. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1486. \margl40
  1487. \margr40
  1488. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The name of the core dump file to be examined
  1489. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  1490. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  1491. 4OCO4OD_
  1492. CO3?CODO
  1493. 4ODO4OD_
  1494. CO4?CODO
  1495. 4OCO4OCOx
  1496. CO3?CO4?
  1497. 4O3O4O3Ox
  1498. CO4?CO3O
  1499. E_Uox
  1500. U_V_w
  1501. 4O3O4OCOx
  1502. CO3?CO3O
  1503. 4OCO4O3Ox
  1504. 3?CODOCO4?COC?CO3?COC?
  1505. DO4?CO4?3O3?CO4?3O4OCO
  1506. ou/v?u?
  1507. 4?CO4OCO3OCO3?CO3?CO4?
  1508. CO4OD_4O3O4O3O4O3O3O3O
  1509. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  1510. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  1511. UUUUUUUUUUU@
  1512. @vnZjf
  1513. ufeufV
  1514. vvuwk
  1515. UUUUUUUUUUX
  1516. gprof
  1517. display call graph profile data
  1518. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1519. \margl40
  1520. \margr40
  1521. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b\i0\ulnone\fs24\fc0\cf0 gprof
  1522. \b0  produces an execution profile of C, Pascal, or Fortran77 programs. The effect of called routines is incorporated in the profile of each caller. The profile data is taken from the call graph profile file (gmon.out default) which is created by programs which are compiled with the -pg option of cc, pc, and f77. That option also links in versions of the library routines which are compiled for profiling. The symbol table in the named object file (a.out default) is read and correlated with the call graph profile file. If more than one profile file is specified, the gprof output shows the sum of the profile information in the given profile files. First, a flat profile is given. This listing gives the total execution times and call counts for each of the functions in the program, sorted by decreasing time. Next, these times are propagated along the edges of the call graph. Cycles are discovered, and calls into a cycle are made to share the time of the cycle. A second listing shows the functions sorted according to the time they represent including the time of their call graph descendents. Below each function entry is shown its (direct) call graph children, and how their times are propagated to this function. A similar display above the function shows how this function's time and the time of its descendents is propagated to its (direct) call graph parents. Cycles are also shown, with an entry for the cycle as a whole and a listing of the members of the cycle and their contributions to the time and call counts of the cycle.
  1523. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  1524. \margl40
  1525. \margr40
  1526. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Suppresses the printing of statically declared functions. If this option is given, all relevant information about the static function (e.g., time samples, calls to other functions, calls from other functions) belongs to the function loaded just before the static function in the a.out file
  1527. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1528. \margl40
  1529. \margr40
  1530. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Supresses the printing of a description of each field in the profile
  1531. a{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1532. \margl40
  1533. \margr40
  1534. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 The static call graph of the program is discovered by a heuristic which examines the text space of the object file. Static-only parents or children are indicated with call counts of 0
  1535. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1536. \margl40
  1537. \margr40
  1538. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Suppresses the printing of the graph profile entry for routine name and all its descendants (unless they have other ancestors that aren't suppressed). More than one -e option may be given. Only one name may be given with each -e option
  1539. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1540. \margl40
  1541. \margr40
  1542. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The routine name to suppress printing for
  1543. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1544. \margl40
  1545. \margr40
  1546. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Suppresses the printing of the graph profile entry for routine name (and its descendants) as -e, above, and also excludes the time spent in name (and its descendants) from the total and percentage time computations. (For example, -E mcount -E mcleanup is the default.)
  1547. U{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1548. \margl40
  1549. \margr40
  1550. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Prints the graph profile entry of only the specified routine name and its descendants. More than one -f option may be given. Only one name may be given with each -f option
  1551. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1552. \margl40
  1553. \margr40
  1554. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The routine name to print a graph for
  1555. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1556. \margl40
  1557. \margr40
  1558. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Prints the graph profile entry of only the routine name and its descendants (as -f, above) and also uses only the times of the printed routines in total time and percentage computations. More than one -F option may be given. Only one name may be given with each -F option. The -F option overrides the -E option
  1559. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1560. \margl40
  1561. \margr40
  1562. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 A profile file gmon.sum is produced which represents the sum of the profile information in all the specified profile files. This summary profile file may be given to subsequent executions of gprof (probably also with a -s) to accumulate profile data across several runs of an a.out file
  1563.     {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1564. \margl40
  1565. \margr40
  1566. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Produces two order files suitable as input to ld(1): gmon.order is an ordering based on a closest is best algorithm, callf.order is based on call frequency. The order files contain only those functions which were called or sampled (including spontaneous functions). For library functions to appear correctly in the order file, a whatsloaded file produced by ld(1) should exist in the working directory. Filenames in the order file will be missing for: files compiled without the -g option, assembly files, and stripped executables. This option does not work with executables that have already been scattered
  1567. g{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1568. \margl40
  1569. \margr40
  1570. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Displays routines which have zero usage (as indicated by call counts and accumulated time). This is useful in conjunction with the -c option for discovering which routines were never called
  1571. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1572. \margl40
  1573. \margr40
  1574. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The object file that the symbol table is taken from
  1575. gmon.out
  1576. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1577. \margl40
  1578. \margr40
  1579. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file the profile data is taken from
  1580. UUUUUUUUUUU@
  1581. @vnZjf
  1582. ufeufV
  1583. vvuwk
  1584. UUUUUUUUUUX
  1585. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  1586. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  1587. 4OCO4OD_
  1588. CO3?CODO
  1589. 4ODO4OD_
  1590. CO4?CODO
  1591. 4OCO4OCOx
  1592. CO3?CO4?
  1593. 4O3O4O3Ox
  1594. CO4?CO3O
  1595. E_Uox
  1596. U_V_w
  1597. 4O3O4OCOx
  1598. CO3?CO3O
  1599. 4OCO4O3Ox
  1600. 3?CODOCO4?COC?CO3?COC?
  1601. DO4?CO4?3O3?CO4?3O4OCO
  1602. ou/v?u?
  1603. 4?CO4OCO3OCO3?CO3?CO4?
  1604. CO4OD_4O3O4O3O4O3O3O3O
  1605. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  1606. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  1607. ,indent and format Objective-C program source
  1608. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1609. \margl40
  1610. \margr40
  1611. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 indent
  1612. \b0  is an Objective-C program formatter. It reformats the C program in the input-file according to the switches. The switches that can be specified are described below.\
  1613. NOTE: If you only specify an input-file, the formatting is done `in-place'. That is, the formatted file is written back into input-file and a backup copy of input-file is written in the current directory. If input-file is named `/blah/blah/file', the backup file is named file.BAK.\
  1614. If output-file is specified, indent checks to make sure it is different from input-file.\
  1615. FURTHER DESCRIPTION You may set up your own `profile' of defaults to indent by creating a file called .indent.pro in either your login directory and/or the current directory and including whatever switches you like. Switches in `.indent.pro' in the current directory override those in your login directory (with the exception of -T type definitions, which just accumulate). If indent is run and a profile file exists, then it is read to set up the program's defaults. The switches should be separated by spaces, tabs or newlines. Switches on the command line, however, override profile switches.\
  1616. Comments\
  1617. `Box' comments. Indent assumes that any comment with a dash or star immediately after the start of comment (that is, `/*-' or `/**') is a comment surrounded by a box of stars. Each line of such a comment is left unchanged, except that its indentation may be adjusted to account for the change in indentation of the first line of the comment.\
  1618. Straight text.\
  1619. All other comments are treated as straight text. Indent fits as many words (separated by blanks, tabs, or newlines) on a line as possible. Blank lines break paragraphs.\
  1620. Comment indentation\
  1621. If a comment is on a line with code it is started in the `comment column', which is set by the -cn command line parameter. Otherwise, the comment is started at n indentation levels less than where code is currently being placed, where n is specified by the -dn command line parameter. If the code on a line extends past the comment column, the comment starts further to the right, and the right margin may be automatically extended in extreme cases.\
  1622. Preprocessor lines\
  1623. In general, indent leaves preprocessor lines alone. The only reformatting that it will do is to straighten up trailing comments. It leaves embedded comments alone. Conditional compilation (#ifdef...#endif) is recognized and indent attempts to correctly compensate for the syntactic peculiarities introduced.\
  1624. C syntax\
  1625. Indent understands a substantial amount about the syntax of C, but it has a `forgiving' parser. It attempts to cope with the usual sorts of incomplete and misformed syntax. In particular, the use of macros like: #define forever for(;;) is handled properly.
  1626. [52@]
  1627. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  1628. \margl40
  1629. \margr40
  1630. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 If -bad is specified, a blank line is forced after every block of declarations. Default: -nbad
  1631. -nbad
  1632. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1633. \margl40
  1634. \margr40
  1635. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 If -bad is specified, a blank line is forced after every block of declarations. Default: -nbad
  1636. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1637. \margl40
  1638. \margr40
  1639. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 If -bap is specified, a blank line is forced after every procedure body. Default: -nbap
  1640. -nbap
  1641. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1642. \margl40
  1643. \margr40
  1644. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 If -bbb is specified, a blank line is forced before every block comment. Default: -nbbb
  1645. -nbbb
  1646. '{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1647. \margl40
  1648. \margr40
  1649. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 If -bc is specified, then a newline is forced after each comma in a declaration. -nbc turns off this option. The default is -nbc
  1650. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1651. \margl40
  1652. \margr40
  1653. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 Specifying -br (the default) makes them look like this: if (...) \{ code \}
  1654. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1655. \margl40
  1656. \margr40
  1657. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Specifying -bl lines up compound statements like this: if (...)  code
  1658. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1659. \margl40
  1660. \margr40
  1661. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 The column in which comments on code start. The default is 33
  1662. ){\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1663. \margl40
  1664. \margr40
  1665. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 The column in which comments on declarations start. The default is for these comments to start in the same column as those on code
  1666. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1667. \margl40
  1668. \margr40
  1669. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 Enables the placement of comment delimiters on blank lines
  1670. -ncdb
  1671. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1672. \margl40
  1673. \margr40
  1674. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Disables the placement of comment delimiters on blank lines
  1675. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1676. \margl40
  1677. \margr40
  1678. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 Enables (disables) forcing `else's to cuddle up to the immediately preceding `\}'. The default is -ce
  1679. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1680. \margl40
  1681. \margr40
  1682. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Disables forcing `else's to cuddle up to the immediately preceding `\}'. The default is -ce
  1683. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1684. \margl40
  1685. \margr40
  1686. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Sets the continuation indent to be n. Continuation lines will be indented that far from the beginning of the first line of the statement. Parenthesized expressions have extra indentation added to indicate the nesting, unless -lp is in effect. -ci defaults to the same value as -i
  1687. -clin
  1688. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1689. \margl40
  1690. \margr40
  1691. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Causes case labels to be indented n tab stops to the right of the containing switch statement. -cli0.5 causes case labels to be indented half a tab stop. The default is -cli0. (This is the only option that takes a fractional argument.)
  1692. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1693. \margl40
  1694. \margr40
  1695. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Controls the placement of comments which are not to the right of code. Specifying -d1 means that such comments are placed one indentation level to the left of code. The default -d0 lines up these comments with the code. See the section on comment indentation below
  1696. ){\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1697. \margl40
  1698. \margr40
  1699. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Specifies the indentation, in character positions, from a declaration keyword to the following identifier. The default is -di16
  1700. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1701. \margl40
  1702. \margr40
  1703. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Left justifies declarations
  1704. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1705. \margl40
  1706. \margr40
  1707. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Indents declarations the same as code. The default is -ndj
  1708. >{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1709. \margl40
  1710. \margr40
  1711. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Enables special else-if processing. If enabled, ifs following elses will have the same indentation as the preceding if statement. The default is -ei
  1712. ?{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1713. \margl40
  1714. \margr40
  1715. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Disables special else-if processing. If enabled, ifs following elses will have the same indentation as the preceding if statement. The default is -ei
  1716. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1717. \margl40
  1718. \margr40
  1719. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Enables  the formatting of comments that start in column 1. Often, comments whose leading `/' is in column 1 have been carefully hand formatted by the programmer. In such cases, -nfc1 should be used. The default is -fc1
  1720. -nfc1
  1721. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1722. \margl40
  1723. \margr40
  1724. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Disables the formatting of comments that start in column 1. Often, comments whose leading `/' is in column 1 have been carefully hand formatted by the programmer. In such cases, -nfc1 should be used. The default is -fc1
  1725. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1726. \margl40
  1727. \margr40
  1728. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 The number of spaces for one indentation level. The default is 8
  1729. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1730. \margl40
  1731. \margr40
  1732. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 The number spaces for indentation
  1733. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1734. \margl40
  1735. \margr40
  1736. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Enables the indentation of parameter declarations from the left margin. The default is -ip
  1737. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1738. \margl40
  1739. \margr40
  1740. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Disables the indentation of parameter declarations from the left margin. The default is -ip
  1741. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1742. \margl40
  1743. \margr40
  1744. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Maximum length of an output line. The default is 78
  1745. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1746. \margl40
  1747. \margr40
  1748. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The length of an output line
  1749. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1750. \margl40
  1751. \margr40
  1752. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Maximum length of a line containing a comment
  1753. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1754. \margl40
  1755. \margr40
  1756. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The maximum length
  1757. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1758. \margl40
  1759. \margr40
  1760. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Lines up code surrounded by parenthesis in continuation lines. If a line has a left paren which is not closed on that line, then continuation lines will be lined up to start at the character position just after the left paren
  1761. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1762. \margl40
  1763. \margr40
  1764. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Lines up code surrounded by parenthesis in continuation lines.  If a line has a left paren which is not closed on that line, then continuation will be lined up to start at the character position just after the left paren
  1765. D{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1766. \margl40
  1767. \margr40
  1768. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Old style assignment operators (`=-', `=*', and so on) are considered to be tokens, and are converted to the newer form (`-=', `*='). The default is -nosa
  1769. -nosa
  1770. L{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1771. \margl40
  1772. \margr40
  1773. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Old style assignment operators (`=-', `=*', and so on) are not considered to be tokens, and are not converted to the newer form (`-=', `*='). The default is -nosa
  1774. -npro
  1775. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1776. \margl40
  1777. \margr40
  1778. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Causes the profile files, `./.indent.pro' and `~/.indent.pro', to be ignored
  1779. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1780. \margl40
  1781. \margr40
  1782. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 A
  1783. ll procedure calls will have a space inserted between the name and the `('. The default is -npcs
  1784. -npcs
  1785. ${\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  1786. \margl40
  1787. \margr40
  1788. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 All procedure calls will not have a space inserted between the name and the `('. The default is -npcs
  1789. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1790. \margl40
  1791. \margr40
  1792. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 The pointer following operator `->' will be surrounded by spaces on either side. The default is -nps
  1793. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1794. \margl40
  1795. \margr40
  1796. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 The pointer following operator `->' will not be surrounded by spaces on either side. The default is -nps
  1797. 3{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1798. \margl40
  1799. \margr40
  1800. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 The names of procedures being defined are placed in column 1 their types, if any, will be left on the previous lines. The default is -psl
  1801. -npsl
  1802. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1803. \margl40
  1804. \margr40
  1805. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 The names of procedures being defined are not placed in column 1. The default is -psl
  1806. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1807. \margl40
  1808. \margr40
  1809. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Enables the placement of asterisks (`*'s) at the left edge of all comments. The default is -sc
  1810.     {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1811. \margl40
  1812. \margr40
  1813. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Disables the placement of asterisks (`*'s) at the left edge of all comments. The default is -sc
  1814. !{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1815. \margl40
  1816. \margr40
  1817. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Indent will swallow optional blank lines. You can use this to get rid of blank lines after declarations. Default: -nsob
  1818. -nsob
  1819. %{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1820. \margl40
  1821. \margr40
  1822. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Indent will not swallow optional blank lines. You can use this to get rid of blank lines after declarations. Default: -nsob
  1823. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1824. \margl40
  1825. \margr40
  1826. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Causes indent to take its input from stdin, and put its output to stdout
  1827. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1828. \margl40
  1829. \margr40
  1830. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Adds typename to the list of type keywords. Names accumulate: -T can be specified more than once. You need to specify all the typenames that appear in your program that are defined by typedefs nothing will be harmed if you miss a few, but the program won't be formatted as nicely as it should. This sounds like a painful thing to have to do, but it's really a symptom of a problem in C: typedef causes a syntactic change in the language and indent can't find all typedefs
  1831. typename
  1832. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1833. \margl40
  1834. \margr40
  1835. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The typename to add to the list of type keywords
  1836. -troff
  1837. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1838. \margl40
  1839. \margr40
  1840. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Causes indent to format the program for processing by troff. It will produce a fancy listing in much the same spirit as vgrind. If the output file is not specified, the default is standard output, rather than formatting in place
  1841. {\rtf0\ansi{\fonttbl\f1\fswiss Helvetica;\f0\fmodern Courier;}
  1842. \margl40
  1843. \margr40
  1844. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f1\b0\i0\ulnone\fs24\fc0\cf0 Specifies the width of tab stops. The default value is 8, which is equivalent to eight spaces.
  1845. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1846. \margl40
  1847. \margr40
  1848. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The width of a tab stop
  1849. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  1850. \margl40
  1851. \margr40
  1852. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Turns on `verbose' mode. When in verbose mode, indent reports when it splits one line of input into two or more lines of output, and gives some size statistics at completion. The default is -nv
  1853. l{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1854. \margl40
  1855. \margr40
  1856. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Turns off `verbose' mode. When in verbose mode, indent reports when it splits one line of input into two or more lines of output, and gives some size statistics at completion. The default is -nv
  1857. input-file
  1858. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1859. \margl40
  1860. \margr40
  1861. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The input file to be indented and formatted
  1862. output-file
  1863. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1864. \margl40
  1865. \margr40
  1866. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The output file containing the indented and formatted code
  1867. UUUUUUUUUUU@
  1868. @vnZjf
  1869. ufeufV
  1870. vvuwk
  1871. UUUUUUUUUUX
  1872. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  1873. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  1874. 4OCO4OD_
  1875. CO3?CODO
  1876. 4ODO4OD_
  1877. CO4?CODO
  1878. 4OCO4OCOx
  1879. CO3?CO4?
  1880. 4O3O4O3Ox
  1881. CO4?CO3O
  1882. E_Uox
  1883. U_V_w
  1884. 4O3O4OCOx
  1885. CO3?CO3O
  1886. 4OCO4O3Ox
  1887. 3?CODOCO4?COC?CO3?COC?
  1888. DO4?CO4?3O3?CO4?3O4OCO
  1889. ou/v?u?
  1890. 4?CO4OCO3OCO3?CO3?CO4?
  1891. CO4OD_4O3O4O3O4O3O3O3O
  1892. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  1893. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  1894. install
  1895. install binaries
  1896. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1897. \margl40
  1898. \margr40
  1899. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Binary is moved (or copied if -c is specified) to destination. If destination already exists, it is removed before binary is moved. If the destination is a directory then binary is moved into the destination directory with its original file-name. 
  1900. Install refuses to move a file onto itself.
  1901. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  1902. \margl40
  1903. \margr40
  1904. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Binary is moved
  1905. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1906. \margl40
  1907. \margr40
  1908. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Sets install to "quick" mode
  1909.     {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1910. \margl40
  1911. \margr40
  1912. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Causes install to run 
  1913. \b ranlib
  1914. \b0  on binary (an archive) after installing it in destination
  1915. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1916. \margl40
  1917. \margr40
  1918. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 May be used to specify a different mode
  1919. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1920. \margl40
  1921. \margr40
  1922. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The mode specified
  1923. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1924. \margl40
  1925. \margr40
  1926. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 May be used to specify a different owner
  1927. owner
  1928. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1929. \margl40
  1930. \margr40
  1931. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The different owner specified
  1932. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  1933. \margl40
  1934. \margr40
  1935. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 May be used to specify a different group
  1936. group
  1937. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1938. \margl40
  1939. \margr40
  1940. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The different group specified
  1941. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1942. \margl40
  1943. \margr40
  1944. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 The binary is stripped after being installed
  1945. binary
  1946. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1947. \margl40
  1948. \margr40
  1949. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The binary to copy to the destination
  1950. destination
  1951. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1952. \margl40
  1953. \margr40
  1954. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The destination for the binary
  1955. UUUUUUUUUUU@
  1956. @vnZjf
  1957. ufeufV
  1958. vvuwk
  1959. UUUUUUUUUUX
  1960. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  1961. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  1962. 4OCO4OD_
  1963. CO3?CODO
  1964. 4ODO4OD_
  1965. CO4?CODO
  1966. 4OCO4OCOx
  1967. CO3?CO4?
  1968. 4O3O4O3Ox
  1969. CO4?CO3O
  1970. E_Uox
  1971. U_V_w
  1972. 4O3O4OCOx
  1973. CO3?CO3O
  1974. 4OCO4O3Ox
  1975. 3?CODOCO4?COC?CO3?COC?
  1976. DO4?CO4?3O3?CO4?3O4OCO
  1977. ou/v?u?
  1978. 4?CO4OCO3OCO3?CO3?CO4?
  1979. CO4OD_4O3O4O3O4O3O3O3O
  1980. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  1981. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  1982. Mach object file link editor
  1983. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1984. \margl40
  1985. \margr40
  1986. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 ld
  1987. \b0  combines several Mach-O (Mach object) files into one by combining like sections in like segments from all the object files, resolves external references, and searches libraries. In the simplest case several object files are given, and ld combines them, producing an object file which can be either executed or become the input for a further ld run. (In the latter case, the -r option must be given to preserve the relocation information.) The output of ld is left on a.out. This file is made executable only if no errors occurred during the link editing and there are no undefined symbols.
  1988. [41@]
  1989. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  1990. \margl40
  1991. \margr40
  1992. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 The name argument after -o is used as the name of the ld output file, instead of a.out
  1993. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1994. \margl40
  1995. \margr40
  1996. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The name of the output file
  1997. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  1998. \margl40
  1999. \margr40
  2000. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 This option is an abbreviation for the library name `libx.a', where x is a string. Ld searches for libraries first in any directories specified with -L options, then in the standard directories `/lib', `/usr/lib', and `/usr/local/lib'. A library is searched when its name is encountered, so the placement of a -l is significant. The string x can be of the form x.o and then that file is searched for in the same places but does not have a lib or a .a added before and after the string
  2001. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2002. \margl40
  2003. \margr40
  2004. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The library name
  2005. <{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2006. \margl40
  2007. \margr40
  2008. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Add dir to the list of directories in which libraries are searched for. Directories specified with -L are searched before the standard directories
  2009. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2010. \margl40
  2011. \margr40
  2012. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The directory to be added
  2013. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2014. \margl40
  2015. \margr40
  2016. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Do not search the standard directories when searching for libraries
  2017. E{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2018. \margl40
  2019. \margr40
  2020. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Cause the correct objective-C semantics when loading a library. This causes all library members that define an objective-C class or a category to be loaded
  2021.     -all_load
  2022. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2023. \margl40
  2024. \margr40
  2025. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Cause all library members to be loaded
  2026. -execute
  2027. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2028. \margl40
  2029. \margr40
  2030. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Produce a Mach-O demand paged executable format file. The headers are placed in the first segment and all segments are padded to the segment alignment. This has a file type of MH_EXECUTE. This is the default. If no segment address is specified at address zero then a segment with no protection (no read, write, or execute permission) is created at address zero with the size the segment alignment. This segment is named ``__PAGEZERO''. This option was previously -Mach and will continue to be recognized
  2031. -object
  2032. K{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2033. \margl40
  2034. \margr40
  2035. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Produce a Mach-O file in the the relocatable object file format that is intended for execution. This differs from using the -r option in that it defines common symbols, does not allow undefined symbols and does not preserve relocation entries. This has a file type of MH_OBJECT. In this format all sections are placed in one unnamed segment with all protections (read, write, execute) allowed on that segment. This is intended for extremely small programs that would otherwise be large due to segment padding. In this format, and all non-MH_EXECUTE formats, the link editor defined symbol ``__mh_execute_header'' is not defined since the headers are not part of the segment
  2036. -preload
  2037. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2038. \margl40
  2039. \margr40
  2040. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Produce a Mach-O preloaded executable format file. The headers are not placed in any segment. All sections are placed in there proper segments and they are padded to the segment alignment. This has a file type of MH_PRELOAD. This option was previously -p and will continue to be recognized
  2041. -fvmlib
  2042. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2043. \margl40
  2044. \margr40
  2045. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Produce a Mach-O fixed VM shared library format file. The headers are placed in the first segment but the first section in that segment will be placed on the next segment alignment boundary in that segment. All sections are placed in there proper segments and they are padded to the segment alignment. This has a file type of MH_FVMLIB
  2046. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2047. \margl40
  2048. \margr40
  2049. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Save the relocation information in the output file so that it can be the subject of another ld run. The resulting file type is a Mach-O relocatable file (MH_OBJECT) if not otherwise specified. This flag also prevents final definitions from being given to common symbols, and suppresses the `undefined symbol' diagnostics
  2050. '{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2051. \margl40
  2052. \margr40
  2053. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Force definition of common storage even if the -r flag is present. This also forces link editor defined symbols to be defined
  2054.     -segalign
  2055. E{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2056. \margl40
  2057. \margr40
  2058. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Specifies the segment alignment. value is a hexadecimal number that must be an integral power of 2. The default is the target pagesize (2000 hex currently)
  2059. value
  2060. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2061. \margl40
  2062. \margr40
  2063. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The segment alignment value
  2064.     -seg1addr
  2065. D{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2066. \margl40
  2067. \margr40
  2068. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Specifies the starting address of the first segment in the output file. Where addr is a hexadecimal number and must be a multiple of the segment alignment
  2069. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2070. \margl40
  2071. \margr40
  2072. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The starting address of the first segment
  2073. -segaddr
  2074. C{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2075. \margl40
  2076. \margr40
  2077. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Specifies the starting address of the named segment, name, to be addr. Where addr is a hexadecimal number and must be a multiple of the segment alignment
  2078. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2079. \margl40
  2080. \margr40
  2081. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The segment to set the starting address for
  2082. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2083. \margl40
  2084. \margr40
  2085. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The starting address of the named segment
  2086. -segprot
  2087. Z{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2088. \margl40
  2089. \margr40
  2090. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Specifies the maximum and initial virtual memory protection of the named segment, name, to be max and init respectfully. The values for max and init are any combination of the characters `r' (for read), `w' (for write), `x' (for execute) and '-' (no access). The default is `rwx' for the maximum and initial protection for all segments except for the ``__TEXT'' segment, if it exists, who's initial protection is `rx' (not writable)
  2091. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2092. \margl40
  2093. \margr40
  2094. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The segment to set the maximum and initial virtual memory protection for
  2095. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2096. \margl40
  2097. \margr40
  2098. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The maximum protection of the named segment
  2099. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2100. \margl40
  2101. \margr40
  2102. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The initial protection of the named segment
  2103. -seglinkedit
  2104. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2105. \margl40
  2106. \margr40
  2107. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Create the link edit segment, named ``__LINKEDIT'' (this is the default). This segment contains all the link edit information (relocation information, symbol table, string table, etc) in the object file. If the segment protection for this segment is not specified then the initial protection is not writable. This can only be specified for the MH_EXECUTE and MH_FVMLIB output file types. To get at the contents of this section the mach header and load commands must be parsed from the link editor defined symbol `__mh_execute_header' (see Mach-O(5))
  2108. -noseglinkedit
  2109. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2110. \margl40
  2111. \margr40
  2112. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Don't create the link edit segment (see -seglinkedit
  2113. -sectcreate
  2114. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2115. \margl40
  2116. \margr40
  2117. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 The section named, sectname, in the segment named, segname, is created from the contents of the file, file. This section name can not be the same as a section name in an input object file in the same segment. This option was previously -segcreate and will continue to be recognized
  2118. segname
  2119. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2120. \margl40
  2121. \margr40
  2122. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The segment name to create a section in
  2123. sectname
  2124. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2125. \margl40
  2126. \margr40
  2127. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The name of the section to create
  2128. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2129. \margl40
  2130. \margr40
  2131. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file to create the section from
  2132. -sectalign
  2133. L{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2134. \margl40
  2135. \margr40
  2136. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 The section named, sectname, in the segment named, segname, will have it's alignment set to value, where value is a hexadecimal number that must be an integral power of 2. This can be used to set the alignment of a section created from a file or to increase the alignment of a section from an object file or to set the maximum alignment of the (__DATA,__common) section where common symbols are defined by the link editor. Setting the alignment of a literal section causes the individual literals to be aligned on that boundary. The default section alignment if not specified by a section header in an object file or on the command line will be 10 (hex) or 16 byte alignment
  2137. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2138. \margl40
  2139. \margr40
  2140. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The segment containing the section to be aligned
  2141. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2142. \margl40
  2143. \margr40
  2144. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The section to be aligned
  2145. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2146. \margl40
  2147. \margr40
  2148. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The value to set the alignment to
  2149. -sectorder
  2150. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2151. \margl40
  2152. \margr40
  2153. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 The section named, sectname, in the segment named, segname, will have the input file's sections broken up into blocks associated with symbols in the section and then the output section will be created by ordering the blocks as specified by the lines in the orderfile. These blocks are aligned to the output file's section alignment for this section. Any section can be ordered in the output file. The orderfile for non-literal sections contain lines of object name and symbol name pairs (exactly one per line separated by a single ':'). If the object file is in an archive then the archive name followed by a single ':' must precede the object file name. The object file names and archive names should be exactly the names as seen by the link editor, but if not the link editor attemps to match up the names the best it can. For non-literal sections sections the easiest way to generate an order file is with the ``-jonls segname sectname'' options to nm(1). The format of the orderfile for literal sections is specific for each type of literal section. For 'C' string literal sections the order file format is one literal 'C' string per line (with ANSI 'C' escape sequences allowed in the 'C' string). For 4 byte literal sections the order file format is one 32 bit hex number with a leading 0x per line with the rest of the line treated as a comment. For 8 byte literal sections the order file is two 32 bit hex numbers per line separated by white space each with a leading 0x, with the rest of the line treated as a comment. For literal pointer sections the format of the order file are lines representing the pointers one per line. A literal pointer is represented by the segment name and section name the literal it is pointing at is in and the literal. Each of these three are separated by a ':' with no extra white space. For all the literal sections each line in the the order file is simply entered into the literal section and will appear in the output file in the order of the order file. There is no check to see if the literal is in the loaded objects. For literal sections the easiest way to generate an order file is with the ``-X -v -s segname sectname'' options to otool(1). For detailed information see the ``Link Optimization'' section of the 2.0 release notes
  2154. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2155. \margl40
  2156. \margr40
  2157. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The segment containing the section to be ordered
  2158. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2159. \margl40
  2160. \margr40
  2161. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The section to be ordered
  2162.     orderfile
  2163. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2164. \margl40
  2165. \margr40
  2166. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file containing the ordering of the blocks
  2167. -sectorder_detail
  2168. w{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2169. \margl40
  2170. \margr40
  2171. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 When using the -sectorder option object file symbol name pairs found in the loaded objects not listed in the orderfile appear last in the output file's section ordered by object file (as they appear on the command line) and then by symbol in that object file ordered by increasing symbol value. By default the link editor prints a summary of number of symbol names in the loaded objects not in the orderfile and the number of symbol names listed in the orderfile not in the loaded objects if both values are not zero. To produce a detailed list of these symbols the -sectorder_detail flag can be specified. Object file symbol name pairs listed multiple times always generate a warning and the first occurrence is used
  2172. -sectobjectsymbols
  2173. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2174. \margl40
  2175. \margr40
  2176. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 This causes the link editor to generate local symbols in the section named, sectname, in the segment named, segname. Each object file that has one of these sections will have a local symbol created with the name of the object file, or the member name of the archive. The value of the the symbol will be where the first address that object file's section was loaded at. The symbol has the type N_SECT and it's section number is the section number of the (segname,sectname) section in the output file. This symbol will placed in the symbol table just before all other local symbols for the object file. This is typicly used where the section is (__TEXT,__text) to help the debugger debug object files coming from old compilers or non-NeXT compilers
  2177. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2178. \margl40
  2179. \margr40
  2180. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The segment containing the section to generate local symbols for
  2181. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2182. \margl40
  2183. \margr40
  2184. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The section to generate local symbols for
  2185. -ysym
  2186. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2187. \margl40
  2188. \margr40
  2189. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Indicate each file in which sym appears, its type and whether the file defines or references it. This option is one argument not two like most of the other symbol related arguments. Many such options may be given to trace many symbols. The tracing of symbols is automaticly done for multiply defined symbols
  2190. ){\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2191. \margl40
  2192. \margr40
  2193. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Only print a warning for multiply defined symbols and don't treat them as a hard error. The first symbol is used for linking and is the value of the symbol in the symbol table. The other symbols by the same name may be used in the resulting output file through local references. This can still produce a resulting output file that is in error. This flag's use is strongly discouraged
  2194. -whyload
  2195. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2196. \margl40
  2197. \margr40
  2198. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Indicate why each member of an archive is loaded. That is which currently undefined symbol is being resolved and requiring that archive member to be loaded. This in combination with the above -ysym flag can help determine why a link edit is failing due to multiply defined symbols
  2199. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2200. \margl40
  2201. \margr40
  2202. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Take the following argument, sym, as a symbol and enter it as undefined in the symbol table. This is useful for loading wholly from a library, since initially the symbol table is empty and an unresolved reference is needed to force the loading of the first object file
  2203. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2204. \margl40
  2205. \margr40
  2206. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The symbol to be entered as undefined in the symbol table
  2207. `{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2208. \margl40
  2209. \margr40
  2210. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 The following argument, sym, is taken to be the symbol name of the entry point of the resulting file; the address of the first section in the first segment is the default entry point
  2211. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2212. \margl40
  2213. \margr40
  2214. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The symbol to be the symbol name of the entry point of the resulting file
  2215. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2216. \margl40
  2217. \margr40
  2218. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Create an indirect symbol for the symbol name definition which is defined to be the same as the symbol name indirect (which is taken to be undefined). When a definition of the symbol named indirect is linked then both symbols take on the defined type and value
  2219. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2220. \margl40
  2221. \margr40
  2222. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The symbol name definition
  2223. indirect
  2224. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2225. \margl40
  2226. \margr40
  2227. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The indirect symbol name
  2228. I{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2229. \margl40
  2230. \margr40
  2231. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Take the following argument, sym, as a symbol that is allowed to be undefined even without -r and produce an executable file if only such symbols are undefined
  2232. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2233. \margl40
  2234. \margr40
  2235. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The symbol that is allowed to be undefined
  2236. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2237. \margl40
  2238. \margr40
  2239. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Completely strip the output, that is, remove the symbol table and relocation information
  2240. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2241. \margl40
  2242. \margr40
  2243. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Strip the non-global symbols; only save external symbols
  2244. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2245. \margl40
  2246. \margr40
  2247. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Strip debugging symbols; only save local and global symbols
  2248. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2249. \margl40
  2250. \margr40
  2251. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Strip local symbols whose names begin with `L'; save all other symbols. The compiler and assembler currently strip these internally-generated labels by default and they don't tend to appear in object files seen by the link editor
  2252. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2253. \margl40
  2254. \margr40
  2255. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Strip the base file's (the argument to -A) symbols from the output file
  2256. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2257. \margl40
  2258. \margr40
  2259. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Inhibit all warning messages
  2260. >{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2261. \margl40
  2262. \margr40
  2263. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Produce a load map, listing all the segments and sections give the address of and size of where each input file's section appears in the output file
  2264. -whatsloaded
  2265. 7{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2266. \margl40
  2267. \margr40
  2268. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Print a single line with the object file name for each object file that is loaded. Names of objects in archives have the form libfoo.a(bar.o)
  2269. -headerpad
  2270. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2271. \margl40
  2272. \margr40
  2273. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Specifies the minimum amount of space to be left after the headers for the MH_EXECUTE format. value is a hexadecimal number. The default is to take the leftover amount of the first segment, caused by rounding it's size to the segment alignment, not covered by headers or non-zerofill sections and use that as the padded amount
  2274. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2275. \margl40
  2276. \margr40
  2277. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The minimum amount of space to be left
  2278. >{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2279. \margl40
  2280. \margr40
  2281. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Trace the progress of the link editor; print the name of each file that is loaded as it is processed in the first and second pass of the link editor
  2282. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2283. \margl40
  2284. \margr40
  2285. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 This option specifies incremental loading, i.e. linking is to be done in a manner so that the resulting object may be read into an already executing program, the basefile. It is strongly suggested that this option NOT be used and that the rld package described in rld(3) be use instead, as it it much easier to use. The next argument, basefile, is the name of a file whose symbol table will be taken as a basis on which to define additional symbols. Only newly linked material will be entered into the a.out file, but the new symbol table will reflect every symbol defined in the base file and the newly linked files. Option(s) to specify the addresses of the segments are typicly needed since the default addresses tend to overlap with the basefile. The default format of the object file is MH_OBJECT if not specified
  2286. basefile
  2287. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2288. \margl40
  2289. \margr40
  2290. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The already executing program
  2291. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2292. \margl40
  2293. \margr40
  2294. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file(s) to be linked
  2295. UUUUUUUUUUU@
  2296. @vnZjf
  2297. ufeufV
  2298. vvuwk
  2299. UUUUUUUUUUX
  2300. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  2301. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  2302. 4OCO4OD_
  2303. CO3?CODO
  2304. 4ODO4OD_
  2305. CO4?CODO
  2306. 4OCO4OCOx
  2307. CO3?CO4?
  2308. 4O3O4O3Ox
  2309. CO4?CO3O
  2310. E_Uox
  2311. U_V_w
  2312. 4O3O4OCOx
  2313. CO3?CO3O
  2314. 4OCO4O3Ox
  2315. 3?CODOCO4?COC?CO3?COC?
  2316. DO4?CO4?3O3?CO4?3O4OCO
  2317. ou/v?u?
  2318. 4?CO4OCO3OCO3?CO3?CO4?
  2319. CO4OD_4O3O4O3O4O3O3O3O
  2320. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  2321. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  2322. &generator of lexical analysis programs
  2323. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2324. \margl40
  2325. \margr40
  2326. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 lex
  2327. \b0  generates programs to be used in simple lexical analyis of text. The input files (standard input default) contain regular expressions to be searched for, and actions written in C to be executed when expressions are found. A C source program, 'lex.yy.c' is generated, to be compiled thus: cc lex.yy.c -ll This program, when run, copies unrecognized portions of the input to the output, and executes the associated C action for each regular expression that is recognized.
  2328. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  2329. \margl40
  2330. \margr40
  2331. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Place the result on the standard output instead of in file "lex.yy.c"
  2332. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2333. \margl40
  2334. \margr40
  2335. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Print a one-line summary of statistics of the generated analyzer
  2336. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2337. \margl40
  2338. \margr40
  2339. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Opposite of -v; -n is default
  2340. ["Faster" compilation: don't bother to pack the resulting tables; limited to small programs.
  2341. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2342. \margl40
  2343. \margr40
  2344. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file(s) containing lex commands
  2345. UUUUUUUUUUU@
  2346. @vnZjf
  2347. ufeufV
  2348. vvuwk
  2349. UUUUUUUUUUX
  2350. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  2351. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  2352. 4OCO4OD_
  2353. CO3?CODO
  2354. 4ODO4OD_
  2355. CO4?CODO
  2356. 4OCO4OCOx
  2357. CO3?CO4?
  2358. 4O3O4O3Ox
  2359. CO4?CO3O
  2360. E_Uox
  2361. U_V_w
  2362. 4O3O4OCOx
  2363. CO3?CO3O
  2364. 4OCO4O3Ox
  2365. 3?CODOCO4?COC?CO3?COC?
  2366. DO4?CO4?3O3?CO4?3O4OCO
  2367. ou/v?u?
  2368. 4?CO4OCO3OCO3?CO3?CO4?
  2369. CO4OD_4O3O4O3O4O3O3O3O
  2370. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  2371. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  2372. lib56000
  2373. Motorola DSP56000 Librarian
  2374. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2375. \margl40
  2376. \margr40
  2377. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 lib56000
  2378. \b0  is a utility that allows separate files to be grouped together into a single file. The resulting library file can then be used for linking by the DSP56000 Cross Linker program or for general-purpose archival storage. library is an operating system compatible filename (including optional pathname) indicating the library file to create or access. If no extension is supplied, the librarian will automatically append .lib to the filename. If no pathname is specified, the librarian will look for the library in the current directory. files is a list of operating system compatible filenames separated by blanks. For input operations the filenames may also contain an optional pathname; the path is stripped when the file is written to the library. For output operations only the filename should be used to refer to library modules.
  2379. R{\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  2380. \margl40
  2381. \margr40
  2382. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 This option adds the modules in the file list to the named library. The library file must exist, and the modules must not already be in the library
  2383. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2384. \margl40
  2385. \margr40
  2386. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Create a new library file and add any specified modules to it. If the library file already exists, an error is issued
  2387. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2388. \margl40
  2389. \margr40
  2390. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Delete named modules from the library. If the module is not in the library, an error is issued
  2391. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2392. \margl40
  2393. \margr40
  2394. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 List library contents. This option lists the module name as contained in the library header, the module size (minus library overhead), and the date and time the file was stored into the library. The listing output is routed to standard output so that it may be redirected to a file if desired
  2395. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2396. \margl40
  2397. \margr40
  2398. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 This option replaces the named modules in the given library. The modules must already be present in the library file
  2399. '{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2400. \margl40
  2401. \margr40
  2402. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 This option updates the specified modules if they exist in the library; otherwise it adds them to the end of the library file
  2403. Extract named modules from the library. The resulting files are given the name of the modules as stored in the library module header. All files are created in the current working directory.
  2404. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2405. \margl40
  2406. \margr40
  2407. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The library file
  2408. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2409. \margl40
  2410. \margr40
  2411. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file(s) to be grouped into the library file
  2412. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  2413. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  2414. 4OCO4OD_
  2415. CO3?CODO
  2416. 4ODO4OD_
  2417. CO4?CODO
  2418. 4OCO4OCOx
  2419. CO3?CO4?
  2420. 4O3O4O3Ox
  2421. CO4?CO3O
  2422. E_Uox
  2423. U_V_w
  2424. 4O3O4OCOx
  2425. CO3?CO3O
  2426. 4OCO4O3Ox
  2427. 3?CODOCO4?COC?CO3?COC?
  2428. DO4?CO4?3O3?CO4?3O4OCO
  2429. ou/v?u?
  2430. 4?CO4OCO3OCO3?CO3?CO4?
  2431. CO4OD_4O3O4O3O4O3O3O3O
  2432. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  2433. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  2434. UUUUUUUUUUU@
  2435. @vnZjf
  2436. ufeufV
  2437. vvuwk
  2438. UUUUUUUUUUX
  2439. libtool
  2440. create libraries
  2441. K{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2442. \margl40
  2443. \margr40
  2444. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 libtool
  2445. \b0  creates a library for use with the link editor, ld(1), in the file specified in the -o output argument from the specified input object files. The input object files may be in any correct format that contains object files (fat files, archives, object files). Libtool will not put any non-object file in the input files in the output library (unlike ranlib which allows this in the archives it operates on).
  2446. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2447. \margl40
  2448. \margr40
  2449. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Treat all remaining arguments as names of files (or archives) and not as options
  2450. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2451. \margl40
  2452. \margr40
  2453. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Specify the output file
  2454. output
  2455. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2456. \margl40
  2457. \margr40
  2458. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The output file
  2459. C{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2460. \margl40
  2461. \margr40
  2462. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Produced the preferred type of table of contents which results in faster link editing when linking with the archive. The order of the table of contents is sorted by symbol name. The library member name of this type of table of contents is ``__.SYMDEF SORTED''. This type of table of contents can only be produced when the library does not have multiple members that define the same symbol. This is the default
  2463. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2464. \margl40
  2465. \margr40
  2466. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Produce the original type of table of contents who's order is based on the order of the members in the archive. The library member name of this type of table of contents is ``__.SYMDEF''. This type of table of contents must be used when the library has multiple members that define the same symbol
  2467. >{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2468. \margl40
  2469. \margr40
  2470. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Include common symbols as definitions with respect to the table of contents. This is seldom ever the behavior that is intended for linking from a library as it will force the linking of a library member just because it uses an uninitialized global that is undefined at that point in the linking. This is only included as an option because this was the original behavior of ranlib. This is not the default
  2471. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2472. \margl40
  2473. \margr40
  2474. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The input file(s)
  2475. UUUUUUUUUUU@
  2476. @vnZjf
  2477. ufeufV
  2478. vvuwk
  2479. UUUUUUUUUUX
  2480. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  2481. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  2482. 4OCO4OD_
  2483. CO3?CODO
  2484. 4ODO4OD_
  2485. CO4?CODO
  2486. 4OCO4OCOx
  2487. CO3?CO4?
  2488. 4O3O4O3Ox
  2489. CO4?CO3O
  2490. E_Uox
  2491. U_V_w
  2492. 4O3O4OCOx
  2493. CO3?CO3O
  2494. 4OCO4O3Ox
  2495. 3?CODOCO4?COC?CO3?COC?
  2496. DO4?CO4?3O3?CO4?3O4OCO
  2497. ou/v?u?
  2498. 4?CO4OCO3OCO3?CO3?CO4?
  2499. CO4OD_4O3O4O3O4O3O3O3O
  2500. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  2501. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  2502. lnk56000
  2503. Motorola DSP56000 Cross Linker
  2504. s{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2505. \margl40
  2506. \margr40
  2507. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 lnk56000
  2508. \b0  is a program that processes relocatable link files produced by the DSP56000 Macro Assembler, generating an absolute load file which can be loaded directly into the DSP56000 Simulator or converted to Motorola S-record format for PROM burning. files is a list of operating system compatible filenames (including optional pathnames) separated by blanks. If no extension is supplied for a given file, the linker will automatically append .lnk to the filename. If no pathname is specified for a given file, the linker will look for that file in the current directory. The list of files will be processed sequentially in the order given and all files will be used to generate the load file and map listing.
  2509. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  2510. \margl40
  2511. \margr40
  2512. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 This option specifies a name for the load file generated by the linker. lodfil can be any legal operating system filename, including an optional pathname. Note that there can be no intervening spaces between the -B and the optional filename
  2513. lodfil
  2514. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2515. \margl40
  2516. \margr40
  2517. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The name for the load file generated by the linker
  2518. _{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2519. \margl40
  2520. \margr40
  2521. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 This option directs the linker to pass debug information such as line number and symbol values through to the load file for use by a source level debug program. It is currently a no-op
  2522. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2523. \margl40
  2524. \margr40
  2525. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 The linker ordinarily processes a list of link files which each contain a single relocatable code module. If the -L option is encountered, the linker treats the following pathname as a library file, and searches the file for any outstanding unresolved references. Note that there can be no intervening spaces between the -L and the library name. If a module is found in the library that resolves an outstanding external reference, the module is read from the library and included in the load file output. The linker continues to search a library until all external references are resolved or no more references can be satisfied within the current library. The linker searches a library only once, when it is encountered on the command line. Therefore, the position of the -L option on the command line is significant
  2526. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2527. \margl40
  2528. \margr40
  2529. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The library file to search for unresolved references
  2530. ,{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2531. \margl40
  2532. \margr40
  2533. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 This option specifies that a map file is to be created. mapfil can be any legal operating system filename, including an optional pathname. Note that there can be no intervening spaces between the -M and the optional filename. If a pathname is not specified, the file will be created in the current directory. If no filename is specified, the linker will use the basename (filename without extension) of the first filename encountered in the link input file list. The resulting output file will have an extension of .map. If the -M option is not specified, then the linker will not generate a map file. The -M option should be specified only once
  2534. mapfil
  2535. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2536. \margl40
  2537. \margr40
  2538. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The name for the map file to be created
  2539. O{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2540. \margl40
  2541. \margr40
  2542. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 By default the linker generates instructions and data for the load file beginning at absolute location zero for all DSP56000 memory spaces. This option allows the programmer to redefine the start address for any memory space and associated location counter. The -O option may be specified as many times as needed on the command line. Note that there can be no intervening spaces between the -O and the memory space specifier
  2543. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2544. \margl40
  2545. \margr40
  2546. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 One of the single-character memory space identifiers (X, Y, L, P). The letter may be upper or lower case
  2547. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2548. \margl40
  2549. \margr40
  2550. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 A letter indicating the high (H) or low (L) location counters. If no counter is specified the default counter is used
  2551. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2552. \margl40
  2553. \margr40
  2554. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 Signifies the desired physical mapping for all relocatable code in the given memory space. It may be I for internal memory, E for external memory, or B for bootstrap memory (valid only in P program memory space). If map is not supplied, then no explicit mapping is presumed
  2555. <origin>
  2556. 7{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2557. \margl40
  2558. \margr40
  2559. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 A four-digit hexadecimal number in the range 0-FFFF signifying the new relocation address for the given memory space (MUST BE PRECEDED BY A ':')
  2560. k{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2561. \margl40
  2562. \margr40
  2563. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 This option indicates that a memory map file is to be read to determine the absolute placement of sections in DSP56000 memory. memfil can be any legal operating system filename, including an optional pathname. Note that there can be no intervening spaces between the -R and the optional filename. If a pathname is not specified, an attempt will be made to open the file in the current directory. If no filename is specified, the linker will use the basename (filename without extension) of the first filename encountered in the link input file list, appending an extension of .mem. If the -R option is not specified, then the linker will not use a memory map file. The -R option should be specified only once
  2564. memfil
  2565. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2566. \margl40
  2567. \margr40
  2568. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The memory map file to be read
  2569. UUUUUUUUUUU@
  2570. @vnZjf
  2571. ufeufV
  2572. vvuwk
  2573. UUUUUUUUUUX
  2574. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  2575. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  2576. 4OCO4OD_
  2577. CO3?CODO
  2578. 4ODO4OD_
  2579. CO4?CODO
  2580. 4OCO4OCOx
  2581. CO3?CO4?
  2582. 4O3O4O3Ox
  2583. CO4?CO3O
  2584. E_Uox
  2585. U_V_w
  2586. 4O3O4OCOx
  2587. CO3?CO3O
  2588. 4OCO4O3Ox
  2589. 3?CODOCO4?COC?CO3?COC?
  2590. DO4?CO4?3O3?CO4?3O4OCO
  2591. ou/v?u?
  2592. 4?CO4OCO3OCO3?CO3?CO4?
  2593. CO4OD_4O3O4O3O4O3O3O3O
  2594. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  2595. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  2596. lorder
  2597. ,find ordering relation for an object library
  2598. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2599. \margl40
  2600. \margr40
  2601. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 The input is one or more object or library archive (see ar(1)) files. The standard output is a list of pairs of object file names, meaning that the first file of the pair refers to external identifiers defined in the second. The output may be processed by tsort(1) to find an ordering of a library suitable for one-pass access by ld(1). This brash one-liner intends to build a new library from existing `.o' files. ar cr library `lorder *.o | tsort` The need for lorder may be vitiated by use of ranlib(1), which converts an ordered archive into a randomly accessed library.
  2602. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2603. \margl40
  2604. \margr40
  2605. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The object or library archive files to be ordered
  2606. UUUUUUUUUUU@
  2607. @vnZjf
  2608. ufeufV
  2609. vvuwk
  2610. UUUUUUUUUUX
  2611. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  2612. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  2613. 4OCO4OD_
  2614. CO3?CODO
  2615. 4ODO4OD_
  2616. CO4?CODO
  2617. 4OCO4OCOx
  2618. CO3?CO4?
  2619. 4O3O4O3Ox
  2620. CO4?CO3O
  2621. E_Uox
  2622. U_V_w
  2623. 4O3O4OCOx
  2624. CO3?CO3O
  2625. 4OCO4O3Ox
  2626. 3?CODOCO4?COC?CO3?COC?
  2627. DO4?CO4?3O3?CO4?3O4OCO
  2628. ou/v?u?
  2629. 4?CO4OCO3OCO3?CO3?CO4?
  2630. CO4OD_4O3O4O3O4O3O3O3O
  2631. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  2632. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  2633. macro processor
  2634. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2635. \margl40
  2636. \margr40
  2637. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 m4
  2638. \b0  is a macro processor intended as a front end for Ratfor, C, and other languages. Each of the argument files is processed in order; if there are no arguments, or if an argument is `-', the standard input is read. The processed text is written on the standard output.\
  2639. Macro calls have the form\
  2640. \b name(arg1,arg2, . . . , argn)
  2641. \b0 \
  2642. The `(' must immediately follow the name of the macro. If a defined macro name is not followed by a `(', it is deemed to have no arguments. Leading unquoted blanks, tabs, and newlines are ignored while collecting arguments. Potential macro names consist of alphabetic letters, digits, and underscore `_', where the first character is not a digit.\
  2643. Left and right single quotes (`') are used to quote strings. The value of a quoted string is the string stripped of the quotes.\
  2644. When a macro name is recognized, its arguments are collected by searching for a matching right parenthesis. Macro evaluation proceeds normally during the collection of the arguments, and any commas or right parentheses which happen to turn up within the value of a nested call are as effective as those in the original input text. After argument collection, the value of the macro is pushed back onto the input stream and rescanned.\
  2645. M4 makes available the following built-in macros. They may be redefined, but once this is done the original meaning is lost. Their values are null unless otherwise stated.\
  2646. define\
  2647. The second argument is installed as the value of the macro whose name is the first argument. Each occurrence of $n in the replacement text, where n is a digit, is replaced by the n-th argument. Argument 0 is the name of the macro; missing arguments are replaced by the null string.\
  2648. undefine\
  2649. removes the definition of the macro named in its argument.\
  2650. ifdef\
  2651. If the first argument is defined, the value is the second argument, otherwise the third. If there is no third argument, the value is null. The word unix is predefined on UNIX versions of m4.\
  2652. changequote\
  2653. Change quote characters to the first and second arguments. Changequote without arguments restores the original values (i.e., `').\
  2654. divert\
  2655. M4 maintains 10 output streams, numbered 0-9. The final output is the concatenation of the streams in numerical order; initially stream 0 is the current stream. The divert macro changes the current output stream to its (digit-string) argument. Output diverted to a stream other than 0 through 9 is discarded.\
  2656. undivert\
  2657. causes immediate output of text from diversions named as arguments, or all diversions if no argument. Text may be undiverted into another diversion. Undiverting discards the diverted text.\
  2658. divnum\
  2659. returns the value of the current output stream.\
  2660. reads and discards characters up to and including the next newline.\
  2661. ifelse\
  2662. has three or more arguments. If the first argument is the same string as the second, then the value is the third argument. If not, and if there are more than four arguments, the process is repeated with arguments 4, 5, 6 and 7. Otherwise, the value is either the fourth string, or, if it is not present, null.\
  2663. incr\
  2664. returns the value of its argument incremented by 1. The value of the argument is calculated by interpreting an initial digit-string as a decimal number.\
  2665. eval\
  2666. evaluates its argument as an arithmetic expression, using 32-bit arithmetic. Operators include +, -, *, /, %, ^ (exponentiation); relationals; parentheses.\
  2667. returns the number of characters in its argument.\
  2668. index\
  2669. returns the position in its first argument where the second argument begins (zero origin), or -1 if the second argument does not occur.\
  2670. substr\
  2671. returns a substring of its first argument. The second argument is a zero origin number selecting the first character; the third argument indicates the length of the substring. A missing third argument is taken to be large enough to extend to the end of the first string.\
  2672. translit\
  2673. transliterates the characters in its first argument from the set given by the second argument to the set given by the third. No abbreviations are permitted.\
  2674. include\
  2675. returns the contents of the file named in the argument.\
  2676. sinclude\
  2677. is identical to include, except that it says nothing if the file is inaccessible.\
  2678. syscmd\
  2679. executes the UNIX command given in the first argument. No value is returned.\
  2680. maketemp\
  2681. fills in a string of XXXXX in its argument with the current process id.\
  2682. errprint\
  2683. prints its argument on the diagnostic output file.\
  2684. dumpdef\
  2685. prints current names and definitions, for the named items, or for all if no arguments are given.
  2686. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2687. \margl40
  2688. \margr40
  2689. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file(s) to process
  2690. UUUUUUUUUUU@
  2691. @vnZjf
  2692. ufeufV
  2693. vvuwk
  2694. UUUUUUUUUUX
  2695. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  2696. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  2697. 4OCO4OD_
  2698. CO3?CODO
  2699. 4ODO4OD_
  2700. CO4?CODO
  2701. 4OCO4OCOx
  2702. CO3?CO4?
  2703. 4O3O4O3Ox
  2704. CO4?CO3O
  2705. E_Uox
  2706. U_V_w
  2707. 4O3O4OCOx
  2708. CO3?CO3O
  2709. 4OCO4O3Ox
  2710. 3?CODOCO4?COC?CO3?COC?
  2711. DO4?CO4?3O3?CO4?3O4OCO
  2712. ou/v?u?
  2713. 4?CO4OCO3OCO3?CO3?CO4?
  2714. CO4OD_4O3O4O3O4O3O3O3O
  2715. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  2716. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  2717. maintain program groups
  2718. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2719. \margl40
  2720. \margr40
  2721. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 The 
  2722. \b make
  2723. \b0  utility executes commands in makefile to update one or more targets (see below). If no -f option is present, `makefile' and `Makefile' are tried in order. If makefile is `-', standard input is taken. More than one -f option may appear.\
  2724. The make utility updates a target if it depends on prerequisite files that have been modified since the target was last modified, or if the target does not exist.\
  2725. A makefile contains a sequence of entries that specify dependencies. The first line of an entry is a blank separated list of targets, then a colon, then a list of prerequisite files. Text following a semicolon, and all following lines that begin with a tab, are shell commands to be executed to update the target. If a name appears on the left of more than one `colon' line, then it depends on all of the names on the right of the colon on those lines, but only one command sequence may be specified for it. If a name appears on a line with a double colon :: then the command sequence following that line is performed only if the name is out of date with respect to the names to the right of the double colon, and is not affected by other double colon lines on which that name may appear.\
  2726. Two special forms of a name are recognized. A name like a(b) means the file named b stored in the archive named a. A name like a((b)) means the file stored in archive a containing the entry point b.\
  2727. Sharp and newline surround comments.\
  2728. The following makefile says that `pgm' depends on two files `a.o' and `b.o', and that they in turn depend on `.c' files and a common file `incl'.\
  2729.  pgm: a.o b.o cc a.o b.o -lm -o pgm a.o: incl a.c cc -c a.c b.o: incl b.c cc -c b.c\
  2730. Makefile entries of the form\
  2731. string1 = string2\
  2732. are macro definitions. Subsequent appearances of $(string1) or $\{string1\} are replaced by string2. If string1 is a single character, the parentheses or braces are optional.\
  2733. The make utility infers prerequisites for files for which makefile gives no construction commands. For example, a `.c' file may be inferred as prerequisite for a `.o' file and be compiled to produce the `.o' file. Thus the preceding example can be done more briefly:\
  2734. pgm: a.o b.o cc a.o b.o -lm -o pgm a.o b.o: incl\
  2735. Prerequisites are inferred according to selected suffixes listed as the `prerequisites' for the special name `.SUFFIXES'; multiple lists accumulate; an empty list clears what came before. Order is significant; the first possible name for which both a file and a rule as described in the next paragraph exist is inferred. The default list is\
  2736.  .SUFFIXES: .out .o .c .e .r .f .y .l .s .p\
  2737. The rule to create a file with suffix s2 that depends on a similarly named file with suffix s1 is specified as an entry for the `target' s1s2. In such an entry, the special macro $* stands for the target name with suffix deleted, $@ for the full target name, $< for the name of the file that the target depends upon, and $? for the list of prerequisites that are out of date. For example, a rule for making optimized `.o' files from `.c' files is\
  2738.  .c.o: ; cc -c -O -o $@ $*.c\
  2739. Certain macros are used by the default inference rules to communicate optional arguments to any resulting compilations. In particular, `CFLAGS' is used for cc(1) options, and `LFLAGS' and `YFLAGS' for lex and yacc(1) options. In addition, the macro `MFLAGS' is filled in with the initial command line options supplied to make. This simplifies maintaining a hierarchy of makefiles as one may then invoke make on makefiles in subdirectories and pass along useful options such as -k, explained below.\
  2740. Another special macro is `VPATH'. The `VPATH' macro should be set to a list of directories separated by colons. When make searches for a file as a result of a dependency relation, it will first search the current directory and then each of the directories on the `VPATH' list. If the file is found, the actual path to the file will be used, rather than just the filename. If `VPATH' is not defined, then only the current directory is searched.\
  2741. One use for `VPATH' is when one has several programs that compile from the same source. The source can be kept in one directory and each set of object files (along with a separate makefile) would be in a separate subdirectory. The `VPATH' macro would point to the source directory in this case.\
  2742. Command lines are executed one at a time, each by its own shell. A line is printed when it is executed unless the special target `.SILENT' is in makefile, or the first character of the command is `@'.\
  2743. Commands returning nonzero status (see intro(1)) cause make to terminate unless the special target `.IGNORE' is in makefile or the command begins with <tab><hyphen>.\
  2744. Interrupt and quit cause the target to be deleted unless the target is a directory or depends on the special name `.PRECIOUS'.
  2745. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2746. \margl40
  2747. \margr40
  2748. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The makefile to use to do the make
  2749. makefile
  2750. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2751. \margl40
  2752. \margr40
  2753. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file containing the make commands
  2754. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2755. \margl40
  2756. \margr40
  2757. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 Debug mode. Print detailed information on files and times examined
  2758. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2759. \margl40
  2760. \margr40
  2761. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 Equivalent to the special entry `.IGNORE:'
  2762. 1{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2763. \margl40
  2764. \margr40
  2765. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 When a command returns nonzero status, abandon work on the current entry, but continue on branches that do not depend on the current entry
  2766. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2767. \margl40
  2768. \margr40
  2769. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 Trace and print, but do not execute the commands needed to update the targets
  2770. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2771. \margl40
  2772. \margr40
  2773. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 Print the complete set of macro definitions and target descriptions
  2774. [{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2775. \margl40
  2776. \margr40
  2777. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 Question. The make command returns a zero or non-zero status code depending upon whether the target file is or is not up to date, without executing any commands on the action lines
  2778. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2779. \margl40
  2780. \margr40
  2781. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 Touch, i.e. update the modified date of targets, without executing any commands on the action lines
  2782. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2783. \margl40
  2784. \margr40
  2785. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 Equivalent to an initial special entry `.SUFFIXES:' with no list
  2786. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2787. \margl40
  2788. \margr40
  2789. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 Equivalent to the special entry `.SILENT:'
  2790. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2791. \margl40
  2792. \margr40
  2793. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file(s) to make
  2794. UUUUUUUUUUU@
  2795. @vnZjf
  2796. ufeufV
  2797. vvuwk
  2798. UUUUUUUUUUX
  2799. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  2800. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  2801. 4OCO4OD_
  2802. CO3?CODO
  2803. 4ODO4OD_
  2804. CO4?CODO
  2805. 4OCO4OCOx
  2806. CO3?CO4?
  2807. 4O3O4O3Ox
  2808. CO4?CO3O
  2809. E_Uox
  2810. U_V_w
  2811. 4O3O4OCOx
  2812. CO3?CO3O
  2813. 4OCO4O3Ox
  2814. 3?CODOCO4?COC?CO3?COC?
  2815. DO4?CO4?3O3?CO4?3O4OCO
  2816. ou/v?u?
  2817. 4?CO4OCO3OCO3?CO3?CO4?
  2818. CO4OD_4O3O4O3O4O3O3O3O
  2819. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  2820. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  2821. Fcreate makefile dependencies from .d files created by -MD option to cc
  2822. I{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2823. \margl40
  2824. \margr40
  2825. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 md
  2826. \b0  processes the raw dependency files produced by the cpp -MD option. There is one line in the file for every #include encountered, but repeats and patterns like .../dir1/../dir2 appear which should reduce to .../dir2. Md canonicalizes and flushes repeats from the dependency list. It also sorts the file names and "fills" them to a 78 character line. Md assumes that dependency information is sorted by .o file name and it procedes to merge in (adding or replacing, as appropriate) the new dependency lines it has generated. For efficiency, md assumes that any .d files it is given that were created before the creation date of the "makefile" were processed already.
  2827. c{\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  2828. \margl40
  2829. \margr40
  2830. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Force an update of the dependencies even though the dependency file is more recent than the .d file (This implies that md has been run already.) This is the default
  2831. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2832. \margl40
  2833. \margr40
  2834. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Subswitch for debugging. Expert mode
  2835. :{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2836. \margl40
  2837. \margr40
  2838. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Specifies the dependency file to be upgraded. If -m is not explicitly specified then the dependencies are updated in either makefile or Makefile
  2839. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2840. \margl40
  2841. \margr40
  2842. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The dependency file to be upgraded
  2843. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2844. \margl40
  2845. \margr40
  2846. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Specifies a dependency file to be updated. If this file doesn't initially exist it is created
  2847. outputfile
  2848. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2849. \margl40
  2850. \margr40
  2851. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The dependency file to be updated
  2852. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2853. \margl40
  2854. \margr40
  2855. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Set the verbose flag
  2856. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2857. \margl40
  2858. \margr40
  2859. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The raw dependency file(s) to be processed
  2860. UUUUUUUUUUU@
  2861. @vnZjf
  2862. ufeufV
  2863. vvuwk
  2864. UUUUUUUUUUX
  2865. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  2866. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  2867. 4OCO4OD_
  2868. CO3?CODO
  2869. 4ODO4OD_
  2870. CO4?CODO
  2871. 4OCO4OCOx
  2872. CO3?CO4?
  2873. 4O3O4O3Ox
  2874. CO4?CO3O
  2875. E_Uox
  2876. U_V_w
  2877. 4O3O4OCOx
  2878. CO3?CO3O
  2879. 4OCO4O3Ox
  2880. 3?CODOCO4?COC?CO3?COC?
  2881. DO4?CO4?3O3?CO4?3O4OCO
  2882. ou/v?u?
  2883. 4?CO4OCO3OCO3?CO3?CO4?
  2884. CO4OD_4O3O4O3O4O3O3O3O
  2885. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  2886. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  2887. mkstr
  2888. 2create an error message file by massaging C source
  2889. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2890. \margl40
  2891. \margr40
  2892. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 mkstr
  2893. \b0  is used to create files of error messages. Its use can make programs with large numbers of error diagnostics much smaller, and reduce system overhead in running the program as the error messages do not have to be constantly swapped in and out.\
  2894. Mkstr will process each of the specified files, placing a massaged version of the input file in a file whose name consists of the specified prefix and the original name. A typical usage of mkstr would be\
  2895. \b mkstr pistrings xx *.c
  2896. \b0 \
  2897. This command would cause all the error messages from the C source files in the current directory to be placed in the file pistrings and processed copies of the source for these files to be placed in files whose names are prefixed with xx.\
  2898. To process the error messages in the source to the message file mkstr keys on the string `error("' in the input stream. Each time it occurs, the C string starting at the `"' is placed in the message file followed by a null character and a new-line character; the null character terminates the message so it can be easily used when retrieved, the new-line character makes it possible to sensibly cat the error message file to see its contents. The massaged copy of the input file then contains a lseek pointer into the file which can be used to retrieve the message, i.e.:\
  2899.  char efilname[] = "/usr/lib/pi_strings"; int efil = -1;\
  2900.  error(a1, a2, a3, a4) \{ char buf[256];\
  2901.  if (efil < 0) \{ efil = open(efilname, 0); if (efil < 0) \{ oops: perror(efilname); exit(1); \} \} if (lseek(efil, (long) a1, 0) || read(efil, buf, 256) <= 0) goto oops; printf(buf, a2, a3, a4); \}
  2902. >{\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  2903. \margl40
  2904. \margr40
  2905. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Causes the error messages to be placed at the end of the specified message file for recompiling part of a large mkstred program
  2906. messagefile
  2907. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2908. \margl40
  2909. \margr40
  2910. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The error message file
  2911. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2912. \margl40
  2913. \margr40
  2914. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The prefix for the output files
  2915. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2916. \margl40
  2917. \margr40
  2918. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The input file(s) to generate messages for
  2919. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  2920. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  2921. 4OCO4OD_
  2922. CO3?CODO
  2923. 4ODO4OD_
  2924. CO4?CODO
  2925. 4OCO4OCOx
  2926. CO3?CO4?
  2927. 4O3O4O3Ox
  2928. CO4?CO3O
  2929. E_Uox
  2930. U_V_w
  2931. 4O3O4OCOx
  2932. CO3?CO3O
  2933. 4OCO4O3Ox
  2934. 3?CODOCO4?COC?CO3?COC?
  2935. DO4?CO4?3O3?CO4?3O4OCO
  2936. ou/v?u?
  2937. 4?CO4OCO3OCO3?CO3?CO4?
  2938. CO4OD_4O3O4O3O4O3O3O3O
  2939. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  2940. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  2941. UUUUUUUUUUU@
  2942. @vnZjf
  2943. ufeufV
  2944. vvuwk
  2945. UUUUUUUUUUX
  2946.  Mach message interface generator
  2947. ={\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2948. \margl40
  2949. \margr40
  2950. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 mig
  2951. \b0  uses the interface definitions in the definitions-file and creates two C modules: subsystemUser.c and subsystemServer.c. These modules implement the user and the server ends of a remote procedure call interface to the subsystem. A header file subsystem.h is also generated that defines the external functions and can be included in any code using the user interface.\
  2952. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\fc0\cf0 For additional documentation, see the chapter "The Mach Operating System" in the NeXTSTEP Operating System Software manual (this manual can be viewed on-line using the NeXT Digital Librarian).\
  2953. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2954. \margl40
  2955. \margr40
  2956. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Use msg_rcp(). The default is -r
  2957. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2958. \margl40
  2959. \margr40
  2960. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Use msg_send()/msg_receive() pairs. The default is -r
  2961. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2962. \margl40
  2963. \margr40
  2964. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Generate code for multi-threaded applications (not implemented yet). The default is -T
  2965. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2966. \margl40
  2967. \margr40
  2968. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Generate code for single thread application. The default is -T
  2969. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2970. \margl40
  2971. \margr40
  2972. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Warning statements will be suppressed. The default is -Q
  2973. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2974. \margl40
  2975. \margr40
  2976. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Warning statements are printed. The default is -Q
  2977.     {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2978. \margl40
  2979. \margr40
  2980. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 All the types, routines and arguments are printed out as the are encountered. The default is -V
  2981. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2982. \margl40
  2983. \margr40
  2984. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 The compilation is silent. The default is -V
  2985. definitions-file
  2986. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  2987. \margl40
  2988. \margr40
  2989. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file containing the definitions
  2990. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  2991. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  2992. 4OCO4OD_
  2993. CO3?CODO
  2994. 4ODO4OD_
  2995. CO4?CODO
  2996. 4OCO4OCOx
  2997. CO3?CO4?
  2998. 4O3O4O3Ox
  2999. CO4?CO3O
  3000. E_Uox
  3001. U_V_w
  3002. 4O3O4OCOx
  3003. CO3?CO3O
  3004. 4OCO4O3Ox
  3005. 3?CODOCO4?COC?CO3?COC?
  3006. DO4?CO4?3O3?CO4?3O4OCO
  3007. ou/v?u?
  3008. 4?CO4OCO3OCO3?CO3?CO4?
  3009. CO4OD_4O3O4O3O4O3O3O3O
  3010. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  3011. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  3012. UUUUUUUUUUU@
  3013. @vnZjf
  3014. ufeufV
  3015. vvuwk
  3016. UUUUUUUUUUX
  3017. msgwrap
  3018. generate remote message classes
  3019. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3020. \margl40
  3021. \margr40
  3022. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 msgwrap
  3023. \b0  reads file.msg and produces fileSpeaker.m fileSpeaker.h fileListener.m fileListener.h, which define Speaker and Listener subclasses for the list of messages in file.msg.\
  3024.  The list of messages has the same syntax as the list of messages in a header file for a class. For example:\
  3025. aMethod : (int) i returnResult : (int *) i;\
  3026. Input parameter types are (int), (double), (char *), (port_t_send), (port_t_rcv), (byte *).\
  3027. The corresponding return parameter types are (int *), (double *), (char **), (port_t_send *), (port_t_rcv *), (byte **).\
  3028. Each (byte *) parameter must be followed by an (int) parameter, which gives the number of bytes. For example:\
  3029. sendByteArray : (byte *) bytes length : (int) len;\
  3030. Each (byte **) parameter must be followed by an (int *) parameter, which returns the number of bytes.\
  3031. returnByteArray : (byte **) bytes length : (int *) len;\
  3032. Port_t_send corresponds to port send rights. Port_t_rcv corresponds to port receive rights.
  3033. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  3034. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  3035. 4OCO4OD_
  3036. CO3?CODO
  3037. 4ODO4OD_
  3038. CO4?CODO
  3039. 4OCO4OCOx
  3040. CO3?CO4?
  3041. 4O3O4O3Ox
  3042. CO4?CO3O
  3043. E_Uox
  3044. U_V_w
  3045. 4O3O4OCOx
  3046. CO3?CO3O
  3047. 4OCO4O3Ox
  3048. 3?CODOCO4?COC?CO3?COC?
  3049. DO4?CO4?3O3?CO4?3O4OCO
  3050. ou/v?u?
  3051. 4?CO4OCO3OCO3?CO3?CO4?
  3052. CO4OD_4O3O4O3O4O3O3O3O
  3053. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  3054. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  3055. UUUUUUUUUUU@
  3056. @vnZjf
  3057. ufeufV
  3058. vvuwk
  3059. UUUUUUUUUUX
  3060. print name list
  3061. C{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3062. \margl40
  3063. \margr40
  3064. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 nm
  3065. \b0  prints the name list (symbol table) of each object file in the argument list. If an argument is an archive, a listing for each object file in the archive will be produced. File can be of the form libx.a(x.o) and then only symbols from that member of the object file are listed (the ()'s have to be quoted to get by the shell). If no file is given, the symbols in "a.out" are listed.\
  3066. Each symbol name is preceded by its value (blanks if undefined). Then if the -m option is not specified one of the letters U (undefined), A (absolute), T (text section symbol), D (data section symbol), B (bss section symbol), C (common symbol), f file name, for debugger symbol table entries (see -a below), S (symbol in a section other than those above) or I (indirect symbol) is printed for the symbol type. If the symbol is local (non-external) the type letter is in lower case.\
  3067. If the symbol is a Objective-C method the symbol name is +
  3068. _[Class_name(category_name) method:name:] where a `+' is used for class methods and a `-' is used for instance methods and (category_name) is only printed if the method is in a category.\
  3069. The output is sorted alphabetically by default.
  3070. [12@]
  3071. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3072. \margl40
  3073. \margr40
  3074. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Print all symbol table entries including those inserted for use by debuggers
  3075. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3076. \margl40
  3077. \margr40
  3078. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Print only global (external) symbols
  3079. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3080. \margl40
  3081. \margr40
  3082. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Sort numerically rather than alphabetically
  3083. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3084. \margl40
  3085. \margr40
  3086. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Prepend file or archive element name to each output line rather than only once
  3087. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3088. \margl40
  3089. \margr40
  3090. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Don't sort; print in symbol-table order
  3091. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3092. \margl40
  3093. \margr40
  3094. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Sort in reverse order
  3095. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3096. \margl40
  3097. \margr40
  3098. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Print only undefined symbols
  3099. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3100. \margl40
  3101. \margr40
  3102. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Print the N_SECT type symbols (Mach-O symbols) as (segment_name, section_name) followed by either external or non-external and then the symbol name. Also undefined, common, absolute and indirect symbols get printed as (undefined), (common) (absolute) and (indirect) respectively
  3103. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3104. \margl40
  3105. \margr40
  3106. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Print the symbol table entry's fields in hex along with the name as a string
  3107. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3108. \margl40
  3109. \margr40
  3110. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Just print the symbol names (no value or type)
  3111. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3112. \margl40
  3113. \margr40
  3114. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 List only those symbols in the section (segname,sectname)
  3115. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3116. \margl40
  3117. \margr40
  3118. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The segment name
  3119. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3120. \margl40
  3121. \margr40
  3122. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The section name
  3123. ${\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3124. \margl40
  3125. \margr40
  3126. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 List a pseudo symbol .section_start if no symbol has the value of the start of the section (used with the -s option above)
  3127. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3128. \margl40
  3129. \margr40
  3130. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file(s) to print the name list for
  3131. UUUUUUUUUUU@
  3132. @vnZjf
  3133. ufeufV
  3134. vvuwk
  3135. UUUUUUUUUUX
  3136. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  3137. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  3138. 4OCO4OD_
  3139. CO3?CODO
  3140. 4ODO4OD_
  3141. CO4?CODO
  3142. 4OCO4OCOx
  3143. CO3?CO4?
  3144. 4O3O4O3Ox
  3145. CO4?CO3O
  3146. E_Uox
  3147. U_V_w
  3148. 4O3O4OCOx
  3149. CO3?CO3O
  3150. 4OCO4O3Ox
  3151. 3?CODOCO4?COC?CO3?COC?
  3152. DO4?CO4?3O3?CO4?3O4OCO
  3153. ou/v?u?
  3154. 4?CO4OCO3OCO3?CO3?CO4?
  3155. CO4OD_4O3O4O3O4O3O3O3O
  3156. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  3157. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  3158. otool
  3159. object file printing tool
  3160. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3161. \margl40
  3162. \margr40
  3163. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b\i0\ulnone\fs24\fc0\cf0 otool
  3164. \b0  prints specified parts of object files or libraries. The file arguments may be of the form libx.a(foo.o) which specifies to print information only about that object file and not the entire library (typically this argument must be quoted, ``libx.a(foo.o)'', to get it past the shell). Otool understands both Mach-O (Mach object) files and 4.3BSD a.out file formats. It can print the specified information in either its raw (numeric) form (without the -v flag) or in a symbolic form, using macro names of constants, etc. (with the -v or -V flag).
  3165. [16@]
  3166. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3167. \margl40
  3168. \margr40
  3169. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Print the archive header if the file is an archive
  3170. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3171. \margl40
  3172. \margr40
  3173. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Print the contents of the `__.SYMDEF' file if the file is an archive
  3174. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3175. \margl40
  3176. \margr40
  3177. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Print the mach header (for Mach-O files) or the exec header (for 4.3BSD a.out files)
  3178. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3179. \margl40
  3180. \margr40
  3181. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Print the load commands (for Mach-O files)
  3182.     {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3183. \margl40
  3184. \margr40
  3185. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Print the names of the target shared libraries the object file uses and their minor version number
  3186. .{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3187. \margl40
  3188. \margr40
  3189. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Print the contents of the section (segname,sectname). If the -v flag is specified the section is printed as is type if that is not zero
  3190. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3191. \margl40
  3192. \margr40
  3193. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The segment name of the section to be printed
  3194. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3195. \margl40
  3196. \margr40
  3197. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The section name to be printed
  3198. x{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3199. \margl40
  3200. \margr40
  3201. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Print the contents of the __text section (for Mach-O files) or the text segment (for 4.3BSD a.out files). With the -v flag this disassembles the text. And with -V it also symbolically disassembles the operands
  3202. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3203. \margl40
  3204. \margr40
  3205. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Print the contents of the __data section (for Mach-O files) or the data segment (for 4.3BSD a.out files)
  3206. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3207. \margl40
  3208. \margr40
  3209. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Print the contents of the __OBJC segment used by the Objective-C runtime system
  3210. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3211. \margl40
  3212. \margr40
  3213. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Print the strings in the __selector_strs and their offset's in that section
  3214. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3215. \margl40
  3216. \margr40
  3217. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Print the relocation entries
  3218. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3219. \margl40
  3220. \margr40
  3221. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Print the argument strings (argv[] and envp[]) from a core file
  3222. I{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3223. \margl40
  3224. \margr40
  3225. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Used with the -t and -v or -V options to start the disassembly from symbol name and continue to the end of the __text section. -T hex number Used with the -t and -v or -V options to indicate an 4.3BSD a.out OMAGIC file was really loaded at hex number rather than the default. This is needed because there is no way to tell where an 4.3BSD a.out file was loaded from the file if it was not loaded at the default address
  3226. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3227. \margl40
  3228. \margr40
  3229. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 The name of the symbol to start disassembly from
  3230. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  3231. \margl40
  3232. \margr40
  3233. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Prints the specified information in raw numeric form
  3234. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3235. \margl40
  3236. \margr40
  3237. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Prints the specified information in symbolic form
  3238. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3239. \margl40
  3240. \margr40
  3241. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 Don't print leading addresses when printing contents of sections
  3242. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3243. \margl40
  3244. \margr40
  3245. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 The object file(s) or libraries to print
  3246. UUUUUUUUUUU@
  3247. @vnZjf
  3248. ufeufV
  3249. vvuwk
  3250. UUUUUUUUUUX
  3251. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  3252. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  3253. 4OCO4OD_
  3254. CO3?CODO
  3255. 4ODO4OD_
  3256. CO4?CODO
  3257. 4OCO4OCOx
  3258. CO3?CO4?
  3259. 4O3O4O3Ox
  3260. CO4?CO3O
  3261. E_Uox
  3262. U_V_w
  3263. 4O3O4OCOx
  3264. CO3?CO3O
  3265. 4OCO4O3Ox
  3266. 3?CODOCO4?COC?CO3?COC?
  3267. DO4?CO4?3O3?CO4?3O4OCO
  3268. ou/v?u?
  3269. 4?CO4OCO3OCO3?CO3?CO4?
  3270. CO4OD_4O3O4O3O4O3O3O3O
  3271. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  3272. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  3273. pagesize
  3274. print system page size
  3275. B{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3276. \margl40
  3277. \margr40
  3278. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 pagesize
  3279. \b0  prints the size of a page of memory in bytes, as returned by getpagesize(2). This program is useful in constructing portable shell scripts.
  3280. UUUUUUUUUUU@
  3281. @vnZjf
  3282. ufeufV
  3283. vvuwk
  3284. UUUUUUUUUUX
  3285. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  3286. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  3287. 4OCO4OD_
  3288. CO3?CODO
  3289. 4ODO4OD_
  3290. CO4?CODO
  3291. 4OCO4OCOx
  3292. CO3?CO4?
  3293. 4O3O4O3Ox
  3294. CO4?CO3O
  3295. E_Uox
  3296. U_V_w
  3297. 4O3O4OCOx
  3298. CO3?CO3O
  3299. 4OCO4O3Ox
  3300. 3?CODOCO4?COC?CO3?COC?
  3301. DO4?CO4?3O3?CO4?3O4OCO
  3302. ou/v?u?
  3303. 4?CO4OCO3OCO3?CO3?CO4?
  3304. CO4OD_4O3O4O3O4O3O3O3O
  3305. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  3306. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  3307. pswrap
  3308. 5creates C routines from pieces of PostScript language
  3309. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3310. \margl40
  3311. \margr40
  3312. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b\i0\ulnone\fs24\fc0\cf0 pswrap
  3313. \b0  reads input from file and creates C-callable procedures that send PostScript language code to the PostScript interpreter. For complete documentation of pswrap and the language it accepts, see the pswrap Reference Manual from Adobe Systems, Inc.
  3314. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  3315. \margl40
  3316. \margr40
  3317. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Produces ANSI C procedure prototypes
  3318. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3319. \margl40
  3320. \margr40
  3321. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Allows a large file to be processed
  3322. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3323. \margl40
  3324. \margr40
  3325. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Produces a header file of C declarations for the generated procedures in filename
  3326. filename
  3327. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3328. \margl40
  3329. \margr40
  3330. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file containing the generated procedures
  3331. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3332. \margl40
  3333. \margr40
  3334. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Causes 
  3335. \b pswrap
  3336. \b0  to place its output in filename
  3337. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3338. \margl40
  3339. \margr40
  3340. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file to put the 
  3341. \b pswrap
  3342. \b0  output in
  3343. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3344. \margl40
  3345. \margr40
  3346. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Generates reentrant code
  3347. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3348. \margl40
  3349. \margr40
  3350. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Sets the maximum string length to length
  3351. length
  3352. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3353. \margl40
  3354. \margr40
  3355. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The length of the maximum string
  3356. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3357. \margl40
  3358. \margr40
  3359. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The input PostScript file to create C from
  3360. UUUUUUUUUUU@
  3361. @vnZjf
  3362. ufeufV
  3363. vvuwk
  3364. UUUUUUUUUUX
  3365. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  3366. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  3367. 4OCO4OD_
  3368. CO3?CODO
  3369. 4ODO4OD_
  3370. CO4?CODO
  3371. 4OCO4OCOx
  3372. CO3?CO4?
  3373. 4O3O4O3Ox
  3374. CO4?CO3O
  3375. E_Uox
  3376. U_V_w
  3377. 4O3O4OCOx
  3378. CO3?CO3O
  3379. 4OCO4O3Ox
  3380. 3?CODOCO4?COC?CO3?COC?
  3381. DO4?CO4?3O3?CO4?3O4OCO
  3382. ou/v?u?
  3383. 4?CO4OCO3OCO3?CO3?CO4?
  3384. CO4OD_4O3O4O3O4O3O3O3O
  3385. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  3386. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  3387. ptags
  3388. print tag information
  3389. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3390. \margl40
  3391. \margr40
  3392. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The 
  3393. \b ptags
  3394. \b0  command prints information about objects indexed in a tags file created by ctags(1). If no objects are given as arguments they are read from stdin. The -flstce options specify which fields to print; if none of these options are given, the entire entry (file, location, size, type, caller list, callee list) is printed. A string beginning with a slash, /words ..., may be appended to an object name, causing only those index entries for object which also reference words to be printed. For instance, ptags new/timer.c attempts to print the tag information for new found in the file timer.c.
  3395. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  3396. \margl40
  3397. \margr40
  3398. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Print all occurrences of the given object
  3399. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3400. \margl40
  3401. \margr40
  3402. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Print the file in which each object is defined
  3403. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3404. \margl40
  3405. \margr40
  3406. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Print the location (search pattern or line number) of each object definition
  3407. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3408. \margl40
  3409. \margr40
  3410. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Print the size of each object (in lines)
  3411. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3412. \margl40
  3413. \margr40
  3414. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Print the type of each object (function, macro, global, etc)
  3415. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3416. \margl40
  3417. \margr40
  3418. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Print the caller list for each object
  3419. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3420. \margl40
  3421. \margr40
  3422. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Print the callee list for each object
  3423. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3424. \margl40
  3425. \margr40
  3426. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Suppress error messages
  3427. .{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3428. \margl40
  3429. \margr40
  3430. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Surround locations (search patterns) and callee/caller lists with single quotes '...', to simplify the use of ptags in shell scripts
  3431. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3432. \margl40
  3433. \margr40
  3434. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Attempt to locate and print the source text for the given object
  3435. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3436. \margl40
  3437. \margr40
  3438. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Print ``tagfile: object:'' before the fields for each object
  3439. R{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3440. \margl40
  3441. \margr40
  3442. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Set the path of tag files searched to tagpath (the default is $TAGS). Giving the -T option more than once appends to the path (i.e., -T"a b" is equivalent to -T a -T b)
  3443. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3444. \margl40
  3445. \margr40
  3446. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 If there's more than one occurrence of the given object, print at most number of them (default is 1)
  3447. number
  3448. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3449. \margl40
  3450. \margr40
  3451. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The maximum number of the same occurence to print
  3452. object
  3453. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3454. \margl40
  3455. \margr40
  3456. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The object(s) to print tag information about
  3457. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  3458. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  3459. 4OCO4OD_
  3460. CO3?CODO
  3461. 4ODO4OD_
  3462. CO4?CODO
  3463. 4OCO4OCOx
  3464. CO3?CO4?
  3465. 4O3O4O3Ox
  3466. CO4?CO3O
  3467. E_Uox
  3468. U_V_w
  3469. 4O3O4OCOx
  3470. CO3?CO3O
  3471. 4OCO4O3Ox
  3472. 3?CODOCO4?COC?CO3?COC?
  3473. DO4?CO4?3O3?CO4?3O4OCO
  3474. ou/v?u?
  3475. 4?CO4OCO3OCO3?CO3?CO4?
  3476. CO4OD_4O3O4O3O4O3O3O3O
  3477. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  3478. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  3479. UUUUUUUUUUU@
  3480. @vnZjf
  3481. ufeufV
  3482. vvuwk
  3483. UUUUUUUUUUX
  3484. ranlib
  3485. 8add or update the table of contents of archive libraries
  3486. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3487. \margl40
  3488. \margr40
  3489. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b\i0\ulnone\fs24\fc0\cf0 ranlib
  3490. \b0  adds or updates the table of contents to each archive so it can be linked by the link editor. The table of contents is a file at the beginning of the archive that indicates which symbols are defined in which library members. Ranlib rewrites the archive, so that sufficient temporary file space must be available in the file system which contains the current directory. The name for a table of contents begins with ``__.SYMDEF''. Currently there are two types of table of contents produced by ranlib and understood by the link editor, ld(1).
  3491. X{\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  3492. \margl40
  3493. \margr40
  3494. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Produced the preferred type of table of contents which results in faster link editing when linking with the archive. The order of the table of contents is sorted by symbol name. The library member name of this type of table of contents is ``__.SYMDEF SORTED''. This type of table of contents can only be produced when the library does not have multiple members that define the same symbol. This is the default
  3495. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3496. \margl40
  3497. \margr40
  3498. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Produce the original type of table of contents who's order is based on the order of the members in the archive. The library member name of this type of table of contents is ``__.SYMDEF''. This type of table of contents must be used when the library has multiple members that define the same symbol
  3499. >{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3500. \margl40
  3501. \margr40
  3502. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Include common symbols as definitions with respect to the table of contents. This is seldom ever the behavior that is intended for linking from a library as it will force the linking of a library member just because it uses an uninitialized global that is undefined at that point in the linking. This is only included as an option because this was the original behavior of ranlib. This is not the default
  3503. u{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3504. \margl40
  3505. \margr40
  3506. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Only ``touch'' the archives and do not modify them. This is useful after copying an archive or using the -t option of make(1) in order to avoid having ld(1) complain about an ``out of date'' symbol table
  3507. archive
  3508. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3509. \margl40
  3510. \margr40
  3511. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The archive(s) to add to or update
  3512. UUUUUUUUUUU@
  3513. @vnZjf
  3514. ufeufV
  3515. vvuwk
  3516. UUUUUUUUUUX
  3517. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  3518. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  3519. 4OCO4OD_
  3520. CO3?CODO
  3521. 4ODO4OD_
  3522. CO4?CODO
  3523. 4OCO4OCOx
  3524. CO3?CO4?
  3525. 4O3O4O3Ox
  3526. CO4?CO3O
  3527. E_Uox
  3528. U_V_w
  3529. 4O3O4OCOx
  3530. CO3?CO3O
  3531. 4OCO4O3Ox
  3532. 3?CODOCO4?COC?CO3?COC?
  3533. DO4?CO4?3O3?CO4?3O4OCO
  3534. ou/v?u?
  3535. 4?CO4OCO3OCO3?CO3?CO4?
  3536. CO4OD_4O3O4O3O4O3O3O3O
  3537. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  3538. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  3539. ratfor
  3540. rational Fortran dialect
  3541. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3542. \margl40
  3543. \margr40
  3544. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b\i0\ulnone\fs24\fc0\cf0 ratfor
  3545. \b0  converts a rational dialect of Fortran into ordinary irrational Fortran. Ratfor is best used with f77(1).
  3546. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3547. \margl40
  3548. \margr40
  3549. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 Rational FORTRAN source code file(s)
  3550. UUUUUUUUUUU@
  3551. @vnZjf
  3552. ufeufV
  3553. vvuwk
  3554. UUUUUUUUUUX
  3555. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  3556. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  3557. 4OCO4OD_
  3558. CO3?CODO
  3559. 4ODO4OD_
  3560. CO4?CODO
  3561. 4OCO4OCOx
  3562. CO3?CO4?
  3563. 4O3O4O3Ox
  3564. CO4?CO3O
  3565. E_Uox
  3566. U_V_w
  3567. 4O3O4OCOx
  3568. CO3?CO3O
  3569. 4OCO4O3Ox
  3570. 3?CODOCO4?COC?CO3?COC?
  3571. DO4?CO4?3O3?CO4?3O4OCO
  3572. ou/v?u?
  3573. 4?CO4OCO3OCO3?CO3?CO4?
  3574. CO4OD_4O3O4O3O4O3O3O3O
  3575. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  3576. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  3577. change RCS file attributes
  3578. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3579. \margl40
  3580. \margr40
  3581. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b\i0\ulnone\fs24\fc0\cf0 rcs
  3582. \b0  creates new RCS files or changes attributes of existing ones. An RCS file contains multiple revisions of text, an access list, a change log, descriptive text, and some control attributes. For rcs to work, the caller's login name must be on the access list, except if the access list is empty, the caller is the owner of the file or the superuser, or the -i option is present. Files ending in `,v' are RCS files, all others are working files. If a working file is given, rcs tries to find the corresponding RCS file first in directory ./RCS and then in the current directory, as explained in co (1).
  3583. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  3584. \margl40
  3585. \margr40
  3586. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Creates and initializes a new RCS file, but does not deposit any revision. If the RCS file has no path prefix, rcs tries to place it first into the subdirectory ./RCS, and then into the current directory. If the RCS file already exists, an error message is printed
  3587. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3588. \margl40
  3589. \margr40
  3590. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Appends the login names appearing in the commaseparated list logins to the access list of the RCS file
  3591. logins
  3592. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3593. \margl40
  3594. \margr40
  3595. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The login names to be appended
  3596. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3597. \margl40
  3598. \margr40
  3599. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Appends the access list of oldfile to the access list of the RCS file
  3600. oldfile
  3601. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3602. \margl40
  3603. \margr40
  3604. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file containing the access list
  3605. K{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3606. \margl40
  3607. \margr40
  3608. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Erases the login names appearing in the comma 
  3609. separated list logins from the access list of the RCS file. If logins is omitted, the entire access list is erased
  3610. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3611. \margl40
  3612. \margr40
  3613. \f0\b0\i0\ulnone\ql\fs24\fi0\li0\gray0\fc0\cf0\up0\dn0 The login names to erase
  3614. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3615. \margl40
  3616. \margr40
  3617. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Sets the comment leader to string. The comment leader is printed before every log message line generated by the keyword $Log$ during checkout (see co). This is useful for programming languages without multi-line comments. During rcs -i or initial ci, the comment leader is guessed from the suffix of the working file
  3618. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3619. \margl40
  3620. \margr40
  3621. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 The string to set the comment header to
  3622. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3623. \margl40
  3624. \margr40
  3625. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Locks the revision with number rev. If a branch is given, the latest revision on that branch is locked. If rev is omitted, the latest revision on the trunk is locked. Locking prevents overlapping changes. A lock is removed with ci or rcs -u (see below)
  3626. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3627. \margl40
  3628. \margr40
  3629. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The revision number to lock
  3630. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3631. \margl40
  3632. \margr40
  3633. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Unlocks the revision with number rev. If a branch is given, the latest revision on that branch is unlocked. If rev is omitted, the latest lock held by the caller is removed. Normally, only the locker of a revision may unlock it. Somebody else unlocking a revision breaks the lock. This causes a mail message to be sent to the original locker. The message contains a commentary solicited from the breaker. The commentary is terminated with a line containing a single `.' or control-D
  3634. Q{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3635. \margl40
  3636. \margr40
  3637. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Sets locking to strict. Strict locking means that the owner of an RCS file is not exempt from locking for checkin. This option should be used for files that are shared
  3638. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3639. \margl40
  3640. \margr40
  3641. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Sets locking to non-strict. Non-strict locking means that the owner of a file need not lock a revision for checkin. This option should NOT be used for files that are shared. The default (-L or -U) is determined by your system administrator
  3642. k{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3643. \margl40
  3644. \margr40
  3645. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Associates the symbolic name name with the branch or revision rev. Rcs prints an error message if name is already associated with another number. If rev is omitted, the symbolic name is deleted
  3646. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3647. \margl40
  3648. \margr40
  3649. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The symbolic name
  3650. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3651. \margl40
  3652. \margr40
  3653. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Same as -n, except that it overrides a previous assignment of name
  3654. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3655. \margl40
  3656. \margr40
  3657. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Deletes ("outdates") the revisions given by range. A range consisting of a single revision number means that revision. A range consisting of a branch number means the latest revision on that branch. A range of the form rev1-rev2 means revisions rev1 to rev2 on the same branch, -rev means from the beginning of the branch containing rev up to and including rev, and revmeans from revision rev to the end of the branch containing rev. None of the outdated revisions may have branches or locks
  3658. range
  3659. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3660. \margl40
  3661. \margr40
  3662. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The range of revisions to delete
  3663. "{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3664. \margl40
  3665. \margr40
  3666. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Sets the state attribute of the revision rev to state. If rev is omitted, the latest revision on the trunk is assumed; If rev is a branch number, the latest revision on that branch is assumed. Any identifier is acceptable for state. A useful set of states is Exp (for experimental), Stab (for stable), and Rel (for released). By default, ci sets the state of a revision to Exp
  3667. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3668. \margl40
  3669. \margr40
  3670. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The state to set the state attribute to
  3671. R{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3672. \margl40
  3673. \margr40
  3674. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Writes descriptive text into the RCS file (deletes the existing text). If txtfile is omitted, rcs prompts the user for text supplied from the std. input, terminated with a line containing a single `.' or control-D. Otherwise, the descriptive text is copied from the file txtfile. If the -i option is present, descriptive text is requested even if -t is not given. The prompt is suppressed if the std. input is not a terminal
  3675. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3676. \margl40
  3677. \margr40
  3678. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The RCS file(s) to create or modify
  3679. UUUUUUUUUUU@
  3680. @vnZjf
  3681. ufeufV
  3682. vvuwk
  3683. UUUUUUUUUUX
  3684. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  3685. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  3686. 4OCO4OD_
  3687. CO3?CODO
  3688. 4ODO4OD_
  3689. CO4?CODO
  3690. 4OCO4OCOx
  3691. CO3?CO4?
  3692. 4O3O4O3Ox
  3693. CO4?CO3O
  3694. E_Uox
  3695. U_V_w
  3696. 4O3O4OCOx
  3697. CO3?CO3O
  3698. 4OCO4O3Ox
  3699. 3?CODOCO4?COC?CO3?COC?
  3700. DO4?CO4?3O3?CO4?3O4OCO
  3701. ou/v?u?
  3702. 4?CO4OCO3OCO3?CO3?CO4?
  3703. CO4OD_4O3O4O3O4O3O3O3O
  3704. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  3705. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  3706. rcsdiff
  3707. compare RCS revisions
  3708. -{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3709. \margl40
  3710. \margr40
  3711. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b\i0\ulnone\fs24\fc0\cf0 rcsdiff
  3712. \b0  runs diff (1) to compare two revisions of each RCS file given. A file name ending in ',v' is an RCS file name, otherwise a working file name. Rcsdiff derives the working file name from the RCS file name and vice versa, as explained in co (1). Pairs consisting of both an RCS and a working file name may also be specified. All options except -r have the same effect as described in diff(1). If both rev1 and rev2 are omitted, rcsdiff compares the latest revision on the trunk with the contents of the corresponding working file. This is useful for determining what you changed since the last checkin. If rev1 is given, but rev2 is omitted, rcsdiff compares revision rev1 of the RCS file with the contents of the corresponding working file. If both rev1 and rev2 are given, rcsdiff compares revisions rev1 and rev2 of the RCS file. Both rev1 and rev2 may be given numerically or symbolically.
  3713. [14@]
  3714. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3715. \margl40
  3716. \margr40
  3717. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Give RCS file name to compare against other RCS files
  3718. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3719. \margl40
  3720. \margr40
  3721. \f0\b0\i0\ulnone\ql\fs24\fi0\li0\gray0\fc0\cf0\up0\dn0 The RCS file to compare
  3722. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  3723. \margl40
  3724. \margr40
  3725. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Ignore blank spaces and tabs
  3726. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3727. \margl40
  3728. \margr40
  3729. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Produce n lines of context (default is 3)
  3730. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3731. \margl40
  3732. \margr40
  3733. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The number of lines of context to produce
  3734. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3735. \margl40
  3736. \margr40
  3737. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Produce a file of edit commands to recreate file2 form file1 usinf ed
  3738. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3739. \margl40
  3740. \margr40
  3741. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Recreate file1 from file2 but not with ed
  3742. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3743. \margl40
  3744. \margr40
  3745. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Perform the comparison quickly
  3746. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3747. \margl40
  3748. \margr40
  3749. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Produce a file of edit commands to recreate file1 from file2 and counting changed lines
  3750. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3751. \margl40
  3752. \margr40
  3753. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Create a merged version of file1 and file2 on standard output
  3754. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3755. \margl40
  3756. \margr40
  3757. \f0\b0\i0\ulnone\ql\fs24\fi0\li0\gray0\fc0\cf0\up0\dn0 The string defining which file will be produced
  3758. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3759. \margl40
  3760. \margr40
  3761. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Ignore all whitespace
  3762. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3763. \margl40
  3764. \margr40
  3765. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Ignore upper and lower case distinctions
  3766. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3767. \margl40
  3768. \margr40
  3769. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Expand tabs on output
  3770. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3771. \margl40
  3772. \margr40
  3773. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Long format output
  3774. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3775. \margl40
  3776. \margr40
  3777. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Report files that are identical
  3778. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3779. \margl40
  3780. \margr40
  3781. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Begin directory comparison with file
  3782. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3783. \margl40
  3784. \margr40
  3785. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file to begin the directory comparison with
  3786. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  3787. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  3788. 4OCO4OD_
  3789. CO3?CODO
  3790. 4ODO4OD_
  3791. CO4?CODO
  3792. 4OCO4OCOx
  3793. CO3?CO4?
  3794. 4O3O4O3Ox
  3795. CO4?CO3O
  3796. E_Uox
  3797. U_V_w
  3798. 4O3O4OCOx
  3799. CO3?CO3O
  3800. 4OCO4O3Ox
  3801. 3?CODOCO4?COC?CO3?COC?
  3802. DO4?CO4?3O3?CO4?3O4OCO
  3803. ou/v?u?
  3804. 4?CO4OCO3OCO3?CO3?CO4?
  3805. CO4OD_4O3O4O3O4O3O3O3O
  3806. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  3807. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  3808. UUUUUUUUUUU@
  3809. @vnZjf
  3810. ufeufV
  3811. vvuwk
  3812. UUUUUUUUUUX
  3813. rcsmerge
  3814. merge RCS revisions
  3815. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3816. \margl40
  3817. \margr40
  3818. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 rcsmerge
  3819. \b0  incorporates the changes between rev1 and rev2 of an RCS file into the corresponding working file. If -p is given, the result is printed on the std. output, otherwise the result overwrites the working file.\
  3820. A file name ending in ',v' is an RCS file name, otherwise a working file name. Merge derives the working file name from the RCS file name and vice versa, as explained in co (1). A pair consisting of both an RCS and a working file name may also be specified.\
  3821. Rev1 may not be omitted. If rev2 is omitted, the latest revision on the trunk is assumed. Both rev1 and rev2 may be given numerically or symbolically.\
  3822. Rcsmerge prints a warning if there are overlaps, and delimits the overlapping regions as explained in co -j. The command is useful for incorporating changes into a checked-out revision.\
  3823. EXAMPLES Suppose you have released revision 2.8 of f.c. Assume furthermore that you just completed revision 3.4, when you receive updates to release 2.8 from someone else. To combine the updates to 2.8 and your changes between 2.8 and 3.4, put the updates to 2.8 into file f.c and execute\
  3824. \b rcsmerge -p -r2.8 -r3.4 f.c >f.merged.c
  3825. \b0 \
  3826. Then examine f.merged.c. Alternatively, if you want to save the updates to 2.8 in the RCS file, check them in as revision 2.8.1.1 and execute co -j:\
  3827. \b ci -r2.8.1.1 f.c co -r3.4 -j2.8:2.8.1.1 f.c
  3828. \b0 \
  3829. As another example, the following command undoes the changes between revision 2.4 and 2.8 in your currently checked out revision in f.c.\
  3830. \b rcsmerge -r2.8 -r2.4 f.c
  3831. \b0 \
  3832. Note the order of the arguments, and that f.c will be overwritten.
  3833. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3834. \margl40
  3835. \margr40
  3836. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 The result is printed on the std. output, otherwise the result overwrites the working file
  3837. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  3838. \margl40
  3839. \margr40
  3840. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 Specify the RCS files to merge
  3841. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3842. \margl40
  3843. \margr40
  3844. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The revision number of the RCS files
  3845. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3846. \margl40
  3847. \margr40
  3848. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The working file to merge the changes between the RCS files into
  3849. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  3850. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  3851. 4OCO4OD_
  3852. CO3?CODO
  3853. 4ODO4OD_
  3854. CO4?CODO
  3855. 4OCO4OCOx
  3856. CO3?CO4?
  3857. 4O3O4O3Ox
  3858. CO4?CO3O
  3859. E_Uox
  3860. U_V_w
  3861. 4O3O4OCOx
  3862. CO3?CO3O
  3863. 4OCO4O3Ox
  3864. 3?CODOCO4?COC?CO3?COC?
  3865. DO4?CO4?3O3?CO4?3O4OCO
  3866. ou/v?u?
  3867. 4?CO4OCO3OCO3?CO3?CO4?
  3868. CO4OD_4O3O4O3O4O3O3O3O
  3869. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  3870. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  3871. UUUUUUUUUUU@
  3872. @vnZjf
  3873. ufeufV
  3874. vvuwk
  3875. UUUUUUUUUUX
  3876. 8print log messages and other information about RCS files
  3877. 3{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3878. \margl40
  3879. \margr40
  3880. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 rlog
  3881. \b0  prints information about RCS files. Files ending in `,v' are RCS files, all others are working files. If a working file is given, rlog tries to find the corresponding RCS file first in directory ./RCS and then in the current directory, as explained in co (1). Rlog prints the following information for each RCS file: RCS file name, working file name, head (i.e., the number of the latest revision on the trunk), access list, locks, symbolic names, suffix, total number of revisions, number of revisions selected for printing, and descriptive text. This is followed by entries for the selected revisions in reverse chronological order for each branch. For each revision, rlog prints revision number, author, date/time, state, number of lines added/deleted (with respect to the previous revision), locker of the revision (if any), and log message. Without options, rlog prints complete information.
  3882. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  3883. \margl40
  3884. \margr40
  3885. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Ignores RCS files that have no locks set; convenient in combination with -R, -h, or -l
  3886. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3887. \margl40
  3888. \margr40
  3889. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Only prints the name of the RCS file; convenient for translating a working file name into an RCS file name
  3890.     {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3891. \margl40
  3892. \margr40
  3893. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Prints only RCS file name, working file name, head, access list, locks, symbolic names, and suffix
  3894. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3895. \margl40
  3896. \margr40
  3897. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Prints the same as -h, plus the descriptive text
  3898. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3899. \margl40
  3900. \margr40
  3901. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Prints information about revisions with a checkin date/time in the ranges given by the semicolonseparated list of dates. A range of the form d1<d2 or d2>d1 selects the revisions that were deposited between d1 and d2, (inclusive). A range of the form <d or d> selects all revisions dated d or earlier. A range of the form d< or >d selects all revisions dated d or later. A range of the form d selects the single, latest revision dated d or earlier. The date/time strings d, d1, and d2 are in the free format explained in co (1). Quoting is normally necessary, especially for < and >. Note that the separator is a semicolon
  3902. dates
  3903. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3904. \margl40
  3905. \margr40
  3906. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The date range to print revisions information about
  3907. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3908. \margl40
  3909. \margr40
  3910. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Prints information about locked revisions. If the comma-separated list lockers of login names is given, only the revisions locked by the given login names are printed. If the list is omitted, all locked revisions are printed
  3911. lockers
  3912. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3913. \margl40
  3914. \margr40
  3915. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The list of login names print locked revisions for
  3916. y{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3917. \margl40
  3918. \margr40
  3919. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Prints information about revisions given in the comma-separated list revisions of revisions and ranges. A range rev1-rev2 means revisions rev1 to rev2 on the same branch, -rev means revisions from the beginning of the branch up to and including rev, and revmeans revisions starting with rev to the end of the branch containing rev. An argument that is a branch means all revisions on that branch. A range of branches means all revisions on the branches in that range
  3920.     revisions
  3921. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3922. \margl40
  3923. \margr40
  3924. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The list of revisions to print information about
  3925. !{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3926. \margl40
  3927. \margr40
  3928. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Prints information about revisions whose state attributes match one of the states given in the comma-separated list states
  3929. states
  3930. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3931. \margl40
  3932. \margr40
  3933. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The list of states for revisions to match to have information be printed
  3934. M{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3935. \margl40
  3936. \margr40
  3937. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Prints information about revisions checked in by users with login names appearing in the commaseparated list logins. If logins is omitted, the user's login is assumed
  3938. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3939. \margl40
  3940. \margr40
  3941. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The list of login names with checked in revisions to print
  3942. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3943. \margl40
  3944. \margr40
  3945. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The RCS or working file(s) to print information about
  3946. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  3947. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  3948. 4OCO4OD_
  3949. CO3?CODO
  3950. 4ODO4OD_
  3951. CO4?CODO
  3952. 4OCO4OCOx
  3953. CO3?CO4?
  3954. 4O3O4O3Ox
  3955. CO4?CO3O
  3956. E_Uox
  3957. U_V_w
  3958. 4O3O4OCOx
  3959. CO3?CO3O
  3960. 4OCO4O3Ox
  3961. 3?CODOCO4?COC?CO3?COC?
  3962. DO4?CO4?3O3?CO4?3O4OCO
  3963. ou/v?u?
  3964. 4?CO4OCO3OCO3?CO3?CO4?
  3965. CO4OD_4O3O4O3O4O3O3O3O
  3966. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  3967. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  3968. UUUUUUUUUUU@
  3969. @vnZjf
  3970. ufeufV
  3971. vvuwk
  3972. UUUUUUUUUUX
  3973.     sccstorcs
  3974. build RCS file from SCCS file
  3975. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3976. \margl40
  3977. \margr40
  3978. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 sccstorcs
  3979. \b0  builds an RCS file from each SCCS file argument. The deltas and comments for each delta are preserved and installed into the new RCS file in order. Also preserved are the user access list and descriptive text, if any, from the SCCS file.
  3980. x{\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  3981. \margl40
  3982. \margr40
  3983. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Trace only. Prints detailed information about the SCCS file and lists the commands that would be executed to produce the RCS file. No commands are actually executed and no RCS file is made
  3984. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3985. \margl40
  3986. \margr40
  3987. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Verbose. Prints each command that is run while it is building the RCS file
  3988. s.file
  3989. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  3990. \margl40
  3991. \margr40
  3992. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The SCCS file to convert
  3993. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  3994. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  3995. 4OCO4OD_
  3996. CO3?CODO
  3997. 4ODO4OD_
  3998. CO4?CODO
  3999. 4OCO4OCOx
  4000. CO3?CO4?
  4001. 4O3O4O3Ox
  4002. CO4?CO3O
  4003. E_Uox
  4004. U_V_w
  4005. 4O3O4OCOx
  4006. CO3?CO3O
  4007. 4OCO4O3Ox
  4008. 3?CODOCO4?COC?CO3?COC?
  4009. DO4?CO4?3O3?CO4?3O4OCO
  4010. ou/v?u?
  4011. 4?CO4OCO3OCO3?CO3?CO4?
  4012. CO4OD_4O3O4O3O4O3O3O3O
  4013. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  4014. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  4015. UUUUUUUUUUU@
  4016. @vnZjf
  4017. ufeufV
  4018. vvuwk
  4019. UUUUUUUUUUX
  4020. segedit
  4021. .extract and replace sections from object files
  4022. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4023. \margl40
  4024. \margr40
  4025. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 segedit
  4026. \b0  extracts and or replaces the named sections from the input_file and creates an output_file (if replacing a section). The segment and section names are the same as specified to ld(1) with the -segcreate option. The segment and section names of an object file can be examined with the -l option to otool(1). Only sections in segments that have no relocation to or for them can be replaced (marked with the SG_NORELOC segment flag) but all sections can be extracted.
  4027. -extract
  4028.  {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4029. \margl40
  4030. \margr40
  4031. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Extracts the section specified by the segment name section name pair and places the contents in the specified filename
  4032. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4033. \margl40
  4034. \margr40
  4035. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file to place the extracted section in
  4036. -replace
  4037. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4038. \margl40
  4039. \margr40
  4040. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Will replace the section specified by the segment name section name pair and places and take the new contents for the section from the specified filename. The -output filename option must also be specified. The resulting size of the section will be rounded to a multiple of 4 bytes and padded with zero bytes if necessary
  4041. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4042. \margl40
  4043. \margr40
  4044. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file containing the information to replace the section with
  4045. -output
  4046. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4047. \margl40
  4048. \margr40
  4049. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Specifies the output file to create when replacing sections
  4050. output_file
  4051. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4052. \margl40
  4053. \margr40
  4054. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The output file to create
  4055. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4056. \margl40
  4057. \margr40
  4058. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The name of the section(s) to be extracted or replaced
  4059. input_file
  4060. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4061. \margl40
  4062. \margr40
  4063. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file the source section is in
  4064. UUUUUUUUUUU@
  4065. @vnZjf
  4066. ufeufV
  4067. vvuwk
  4068. UUUUUUUUUUX
  4069. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  4070. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  4071. 4OCO4OD_
  4072. CO3?CODO
  4073. 4ODO4OD_
  4074. CO4?CODO
  4075. 4OCO4OCOx
  4076. CO3?CO4?
  4077. 4O3O4O3Ox
  4078. CO4?CO3O
  4079. E_Uox
  4080. U_V_w
  4081. 4O3O4OCOx
  4082. CO3?CO3O
  4083. 4OCO4O3Ox
  4084. 3?CODOCO4?COC?CO3?COC?
  4085. DO4?CO4?3O3?CO4?3O4OCO
  4086. ou/v?u?
  4087. 4?CO4OCO3OCO3?CO3?CO4?
  4088. CO4OD_4O3O4O3O4O3O3O3O
  4089. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  4090. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  4091. size of an object file
  4092. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4093. \margl40
  4094. \margr40
  4095. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 size
  4096. \b0  (without the -m option) prints the (decimal) number of bytes required by the __TEXT, __DATA and __OBJC segments. All other segments are totaled and that size is listed in the `others' column. The final two columns is the sum in decimal and hexadecimal. If no file is specified, a.out is used.
  4097. G{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4098. \margl40
  4099. \margr40
  4100. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Print the sizes of the Mach-O segments and sections as well as the total sizes of the sections in each segment and the total size of the segments in the file
  4101.     {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4102. \margl40
  4103. \margr40
  4104. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 When used with the -m option, also print the addresses and offsets of the sections and segments
  4105. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4106. \margl40
  4107. \margr40
  4108. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 When used with the -m option, print the values in hexadecimal (with leading 0x's) rather than decimal
  4109. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4110. \margl40
  4111. \margr40
  4112. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The object file to be sized
  4113. UUUUUUUUUUU@
  4114. @vnZjf
  4115. ufeufV
  4116. vvuwk
  4117. UUUUUUUUUUX
  4118. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  4119. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  4120. 4OCO4OD_
  4121. CO3?CODO
  4122. 4ODO4OD_
  4123. CO4?CODO
  4124. 4OCO4OCOx
  4125. CO3?CO4?
  4126. 4O3O4O3Ox
  4127. CO4?CO3O
  4128. E_Uox
  4129. U_V_w
  4130. 4O3O4OCOx
  4131. CO3?CO3O
  4132. 4OCO4O3Ox
  4133. 3?CODOCO4?COC?CO3?COC?
  4134. DO4?CO4?3O3?CO4?3O4OCO
  4135. ou/v?u?
  4136. 4?CO4OCO3OCO3?CO3?CO4?
  4137. CO4OD_4O3O4O3O4O3O3O3O
  4138. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  4139. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  4140. strings
  4141. =find the printable strings in a object, or other binary, file
  4142. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  4143. \margl40
  4144. \margr40
  4145. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 strings
  4146. \b0  looks for ASCII strings in a binary file. A string is any sequence of 4 or more printing characters ending with a newline or a null. Unless the flag is given, strings only looks in the initialized data space of object files. If the -a flag is given, strings looks for strings in the data segment as well as in the text segment. If the -o flag is given, each string is preceded by its offset in the file (in octal). If the -number flag is given then number is used as the minimum string length rather than 4. Strings is useful for identifying random object files and many other things.
  4147. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4148. \margl40
  4149. \margr40
  4150. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 strings
  4151. \b0  looks for strings in the data segment as well as in the text segment
  4152. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4153. \margl40
  4154. \margr40
  4155. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Each string is preceded by its offset in the file (in octal)
  4156. E{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4157. \margl40
  4158. \margr40
  4159. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 If no number is given strings only looks in the initialized data space of object files. Otherwise number is used as the minimum string length rather than 4
  4160. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4161. \margl40
  4162. \margr40
  4163. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The minimum string length
  4164. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4165. \margl40
  4166. \margr40
  4167. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file(s) to find strings in
  4168. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  4169. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  4170. 4OCO4OD_
  4171. CO3?CODO
  4172. 4ODO4OD_
  4173. CO4?CODO
  4174. 4OCO4OCOx
  4175. CO3?CO4?
  4176. 4O3O4O3Ox
  4177. CO4?CO3O
  4178. E_Uox
  4179. U_V_w
  4180. 4O3O4OCOx
  4181. CO3?CO3O
  4182. 4OCO4O3Ox
  4183. 3?CODOCO4?COC?CO3?COC?
  4184. DO4?CO4?3O3?CO4?3O4OCO
  4185. ou/v?u?
  4186. 4?CO4OCO3OCO3?CO3?CO4?
  4187. CO4OD_4O3O4O3O4O3O3O3O
  4188. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  4189. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  4190. UUUUUUUUUUU@
  4191. @vnZjf
  4192. ufeufV
  4193. vvuwk
  4194. UUUUUUUUUUX
  4195. strip
  4196. "remove symbols and relocation bits
  4197. %{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4198. \margl40
  4199. \margr40
  4200. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 strip
  4201. \b0  removes or modifys the symbol table attached to the output of the assembler and link editor. This is useful to save space after a program has been debugged and to limit the symbols for use with rld(3). Strip no longer removes relocation entries under any condition. Instead it up dates the external relocation entries to reflect the resulting symbol table and prints a error message for those symbols not in the resulting symbol table and needed by an external relocation entry. The link editor ld(1) is the only program that can strip relocation entries and know if it is safe to do so.\
  4202. The effect of strip without any options is the same as use of the -s option of ld(1). The options -S, -x, and -X have the same effect as the ld(1) options.\
  4203. The options to strip(1) can be combined to trim the symbol table to just what is desired. This is to support stripping executables for later use with rld(3). This allows control of the interface that the executable wants to provide to the objects that it will load with rld and it will not have to publish symbols that are not part of it's interface. For example an executable that wishes to allow only a subset of it's global symbols but all of the shared libraries globals to be used would be stripped with: % strip -s interface_symbols -A executable where the file interface_symbols would contain only those symbols from the executable that it wishes the objects loaded with rld to have access to. Another example is an object that is maded up of a number of other objects that will be loaded into an executable would built and then stripped with:\
  4204. \b % ld -o relocatable.o -r a.o b.o c.o\
  4205. % strip -s interface_symbols -u relocatable.o\
  4206. \b0 \
  4207. which would leave only the undefined symbols and symbols listed in the file interface_symbols in the object file. In this case strip(1) has updated the relocation entries to reflect the new symbol table.
  4208. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  4209. \margl40
  4210. \margr40
  4211. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Save the symbol table entries for the global symbols listed in filename. The symbol names listed in filename must be one per line with no other white space in the file except the newlines on the end of each line
  4212. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4213. \margl40
  4214. \margr40
  4215. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file to save the symbol table entries in
  4216. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4217. \margl40
  4218. \margr40
  4219. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Save the debugging symbol table entries for each source file name listed in filename. The source file names listed in filename must be one per line with no other white space in the file except the newlines on the end of each line. And they must be just the base name of the source file without any leading directories
  4220. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4221. \margl40
  4222. \margr40
  4223. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file to save the debugging symbol table entries in
  4224. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4225. \margl40
  4226. \margr40
  4227. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Save all global absolute symbols except those with a value of zero and that are not objective-C class symbols. This is intended for use of programs that use rld(3) and only want the loaded code to use symbols from the shared libraries
  4228. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4229. \margl40
  4230. \margr40
  4231. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 Save all N_SECT global symbols. This is intended for use with executable programs in combination with -A to remove the symbols needed for correct static link editing which are not needed for use with rld(3) where using the -s filename would be too much trouble
  4232. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4233. \margl40
  4234. \margr40
  4235. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 Save all undefined symbols. This is intended for use with relocatable objects to save symbols referred to by external relocation entries. Note that common symbols are also referred to by external relocation entries and this flag does not save those symbols
  4236. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4237. \margl40
  4238. \margr40
  4239. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Save local symbols except for those whose names begin with `L'
  4240. <{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4241. \margl40
  4242. \margr40
  4243. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 `Strip' the output by removing all symbols except locals and globals. That is debugging symbols created by the -g option to cc(1) and other compilers
  4244. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4245. \margl40
  4246. \margr40
  4247. \pard\tx533\tx1067\tx1601\tx2135\tx2668\tx3202\tx3736\tx4270\tx4803\tx5337\f0\b0\i0\ulnone\fs24\fc0\cf0 Do not preserve local (non-.globl) symbols in the output symbol table; only save external symbols
  4248. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4249. \margl40
  4250. \margr40
  4251. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 Treat all remaining arguments as file names and not options
  4252. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4253. \margl40
  4254. \margr40
  4255. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file(s) to strip
  4256. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  4257. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  4258. 4OCO4OD_
  4259. CO3?CODO
  4260. 4ODO4OD_
  4261. CO4?CODO
  4262. 4OCO4OCOx
  4263. CO3?CO4?
  4264. 4O3O4O3Ox
  4265. CO4?CO3O
  4266. E_Uox
  4267. U_V_w
  4268. 4O3O4OCOx
  4269. CO3?CO3O
  4270. 4OCO4O3Ox
  4271. 3?CODOCO4?COC?CO3?COC?
  4272. DO4?CO4?3O3?CO4?3O4OCO
  4273. ou/v?u?
  4274. 4?CO4OCO3OCO3?CO3?CO4?
  4275. CO4OD_4O3O4O3O4O3O3O3O
  4276. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  4277. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  4278. UUUUUUUUUUU@
  4279. @vnZjf
  4280. ufeufV
  4281. vvuwk
  4282. UUUUUUUUUUX
  4283. struct
  4284. structure Fortran programs
  4285. N{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4286. \margl40
  4287. \margr40
  4288. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 struct
  4289. \b0  translates the Fortran program specified by file (standard input default) into a Ratfor program. Wherever possible, Ratfor control constructs replace the original Fortran. Statement numbers appear only where still necessary. Cosmetic changes are made, including changing Hollerith strings into quoted strings and relational operators into symbols (.e.g. ".GT." into ">"). The output is appropriately indented.
  4290. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  4291. \margl40
  4292. \margr40
  4293. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Input is accepted in standard format, i.e. comments are specified by a c, C, or * in column 1, and continuation lines are specified by a nonzero, nonblank character in column 6. Normally input is in the form accepted by f77(1)
  4294. !{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4295. \margl40
  4296. \margr40
  4297. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Do not turn computed goto statements into switches. (Ratfor does not turn switches back into computed goto statements.)
  4298. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4299. \margl40
  4300. \margr40
  4301. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Turn sequences of else ifs into a non-Ratfor switch
  4302. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4303. \margl40
  4304. \margr40
  4305. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Generate goto's instead of multilevel break statements
  4306. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4307. \margl40
  4308. \margr40
  4309. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Generate goto's instead of multilevel next statements
  4310. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4311. \margl40
  4312. \margr40
  4313. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Make the nonzero integer n the lowest valued label in the output program (default 10)
  4314. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4315. \margl40
  4316. \margr40
  4317. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The lowest valued label in the output program
  4318. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  4319. \margl40
  4320. \margr40
  4321. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Increment successive labels in the output program by the nonzero integer n (default 1)
  4322. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4323. \margl40
  4324. \margr40
  4325. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The number to increment successive labels by
  4326. :{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4327. \margl40
  4328. \margr40
  4329. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 If n is 0 (default), place code within a loop only if it can lead to an iteration of the loop. If n is nonzero, admit a small code segments to a loop if otherwise the loop would have exits to several places including the segment, and the segment can be reached only from the loop. `Small' is close to, but not equal to, the number of statements in the code segment. Values of n under 10 are suggested
  4330. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4331. \margl40
  4332. \margr40
  4333. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The number of statements in a loop code segment
  4334. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4335. \margl40
  4336. \margr40
  4337. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file to translate into Ratfor
  4338. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  4339. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  4340. 4OCO4OD_
  4341. CO3?CODO
  4342. 4ODO4OD_
  4343. CO4?CODO
  4344. 4OCO4OCOx
  4345. CO3?CO4?
  4346. 4O3O4O3Ox
  4347. CO4?CO3O
  4348. E_Uox
  4349. U_V_w
  4350. 4O3O4OCOx
  4351. CO3?CO3O
  4352. 4OCO4O3Ox
  4353. 3?CODOCO4?COC?CO3?COC?
  4354. DO4?CO4?3O3?CO4?3O4OCO
  4355. ou/v?u?
  4356. 4?CO4OCO3OCO3?CO3?CO4?
  4357. CO4OD_4O3O4O3O4O3O3O3O
  4358. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  4359. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  4360. UUUUUUUUUUU@
  4361. @vnZjf
  4362. ufeufV
  4363. vvuwk
  4364. UUUUUUUUUUX
  4365. unifdef
  4366. remove ifdef'ed lines
  4367. ({\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4368. \margl40
  4369. \margr40
  4370. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 unifdef
  4371. \b0  is useful for removing ifdef'ed lines from a file while otherwise leaving the file alone. Unifdef is like a stripped-down C preprocessor: it is smart enough to deal with the nested ifdefs, comments, single and double quotes of C syntax so that it can do its job, but it doesn't do any including or interpretation of macros. Neither does it strip out comments, though it recognizes and ignores them. You specify which symbols you want defined -Dsym or undefined -Usym and the lines inside those ifdefs will be copied to the output or removed as appropriate. The ifdef, ifndef, else, and endif lines associated with sym will also be removed. Ifdefs involving symbols you don't specify are untouched and copied out along with their associated ifdef, else, and endif lines. If an ifdef X occurs nested inside another ifdef X, then the inside ifdef is treated as if it were an unrecognized symbol. If the same symbol appears in more than one argument, only the first occurrence is significant. The -l option causes unifdef to replace removed lines with blank lines instead of deleting them. If you use ifdefs to delimit non-C lines, such as comments or code which is under construction, then you must tell unifdef which symbols are used for that purpose so that it won't try to parse for quotes and comments in those ifdef'ed lines. You specify that you want the lines inside certain ifdefs to be ignored but copied out with -idsym and -iusym similar to -Dsym and -Usym above. If you want to use unifdef for plain text (not C code), use the -t option. This makes unifdef refrain from attempting to recognize comments and single and double quotes. Unifdef copies its output to stdout and will take its input from stdin if no file argument is given. If the -c argument is specified, then the operation of unifdef is complemented, i.e. the lines that would have been removed or blanked are retained and vice versa.
  4372.  {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  4373. \margl40
  4374. \margr40
  4375. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Makes 
  4376. \b unifdef
  4377. \b0  refrain from attempting to recognize comments and single and double quotes
  4378. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4379. \margl40
  4380. \margr40
  4381. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Causes 
  4382. \b unifdef
  4383. \b0  to replace removed lines with blank lines instead of deleting them
  4384. /{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4385. \margl40
  4386. \margr40
  4387. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 The operation of 
  4388. \b unifdef
  4389. \b0  is complemented, i.e. the lines that would have been removed or blanked are retained and vice versa
  4390. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  4391. \margl40
  4392. \margr40
  4393. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Undefine symbol sym
  4394. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4395. \margl40
  4396. \margr40
  4397. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The symbol to undefine
  4398. {\rtf0\ansi{\fonttbl\f1\fswiss Helvetica;\f0\fmodern Courier;}
  4399. \margl40
  4400. \margr40
  4401. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f1\b0\i0\ulnone\fs24\fc0\cf0 the lines inside those ifdefs will be copied to the output or removed as appropriate
  4402. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4403. \margl40
  4404. \margr40
  4405. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The symbol to define
  4406. -idsym
  4407. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4408. \margl40
  4409. \margr40
  4410. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Define symbol sym but ignore it
  4411. -iusym
  4412. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  4413. \margl40
  4414. \margr40
  4415. \pard\tx1140\tx2300\tx3440\tx4600\tx5760\tx6900\tx8060\tx9200\tx10360\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Undefine symbol sym but ignore it
  4416. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  4417. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  4418. 4OCO4OD_
  4419. CO3?CODO
  4420. 4ODO4OD_
  4421. CO4?CODO
  4422. 4OCO4OCOx
  4423. CO3?CO4?
  4424. 4O3O4O3Ox
  4425. CO4?CO3O
  4426. E_Uox
  4427. U_V_w
  4428. 4O3O4OCOx
  4429. CO3?CO3O
  4430. 4OCO4O3Ox
  4431. 3?CODOCO4?COC?CO3?COC?
  4432. DO4?CO4?3O3?CO4?3O4OCO
  4433. ou/v?u?
  4434. 4?CO4OCO3OCO3?CO3?CO4?
  4435. CO4OD_4O3O4O3O4O3O3O3O
  4436. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  4437. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  4438. UUUUUUUUUUU@
  4439. @vnZjf
  4440. ufeufV
  4441. vvuwk
  4442. UUUUUUUUUUX
  4443. vers_string
  4444. %produce version identification string
  4445. c{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4446. \margl40
  4447. \margr40
  4448. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 vers_string
  4449. \b0  outputs a string made up of the SGS version name, the current user's login identifier, and the current time and date. Vers_string may only be used within an SGS project.
  4450. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  4451. \margl40
  4452. \margr40
  4453. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 The output is formed as a C declaration for the global character array SGS_VERS
  4454. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4455. \margl40
  4456. \margr40
  4457. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 The output is formed like the -c option, but "PROGRAM" is replaced with "LIBRARY" and the declaration is static
  4458. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4459. \margl40
  4460. \margr40
  4461. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 The output is simply the program name and suffixed with the current version number of the SGS version root
  4462. PROGRAM
  4463. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4464. \margl40
  4465. \margr40
  4466. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The program to generate a version string for
  4467. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  4468. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  4469. 4OCO4OD_
  4470. CO3?CODO
  4471. 4ODO4OD_
  4472. CO4?CODO
  4473. 4OCO4OCOx
  4474. CO3?CO4?
  4475. 4O3O4O3Ox
  4476. CO4?CO3O
  4477. E_Uox
  4478. U_V_w
  4479. 4O3O4OCOx
  4480. CO3?CO3O
  4481. 4OCO4O3Ox
  4482. 3?CODOCO4?COC?CO3?COC?
  4483. DO4?CO4?3O3?CO4?3O4OCO
  4484. ou/v?u?
  4485. 4?CO4OCO3OCO3?CO3?CO4?
  4486. CO4OD_4O3O4O3O4O3O3O3O
  4487. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  4488. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  4489. UUUUUUUUUUU@
  4490. @vnZjf
  4491. ufeufV
  4492. vvuwk
  4493. UUUUUUUUUUX
  4494. vgrind
  4495. grind nice listings of programs
  4496. !{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4497. \margl40
  4498. \margr40
  4499. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 vgrind
  4500. \b0  formats the program sources which are arguments in a nice style using troff(1) Comments are placed in italics, keywords in bold face, and the name of the current function is listed down the margin of each page as it is encountered. Vgrind runs in two basic modes, filter mode or regular mode. In filter mode vgrind acts as a filter in a manner similar to tbl(1). The standard input is passed directly to the standard output except for lines bracketed by the troff-like macros: .vS starts processing .vE ends processing These lines are formatted as described above. The output from this filter can be passed to troff for output. There need be no particular ordering with eqn(1) or tbl(1). In regular mode vgrind accepts input files, processes them, and passes them to troff(1) for output. In both modes vgrind passes any lines beginning with a decimal point without conversion.
  4501. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  4502. \margl40
  4503. \margr40
  4504. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Forces filter mode
  4505. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4506. \margl40
  4507. \margr40
  4508. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Similar to the same option in troff causing formatted text to go to the standard output
  4509. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4510. \margl40
  4511. \margr40
  4512. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Forces no keyword bolding
  4513. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4514. \margl40
  4515. \margr40
  4516. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Outputs the index file in a ``pretty'' format. The index file itself is produced whenever vgrind is run with a file called index in the current directory. The index of function definitions can then be run off by giving vgrind the -x option and the file index as argument
  4517. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4518. \margl40
  4519. \margr40
  4520. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Forces output to the (wide) Versatec printer rather than the (narrow) Varian
  4521. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4522. \margl40
  4523. \margr40
  4524. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Specifies a point size to use on output (exactly the same as the argument of a .ps)
  4525. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4526. \margl40
  4527. \margr40
  4528. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The point size to use on output
  4529. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4530. \margl40
  4531. \margr40
  4532. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Specifies a particular header to put on every output page (default is the file name)
  4533. header
  4534. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4535. \margl40
  4536. \margr40
  4537. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The header to put on every header page
  4538. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4539. \margl40
  4540. \margr40
  4541. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Specifies an alternate language definitions file (default is /usr/lib/vgrindefs)
  4542. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4543. \margl40
  4544. \margr40
  4545. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The alternate language definitions file
  4546. t{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4547. \margl40
  4548. \margr40
  4549. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Specifies the language to use. Currently known are PASCAL (-lp), MODEL (-lm),C (-lc or the default), CSH (-lcsh), SHELL (-lsh), RATFOR (-lr), MODULA2 (-lmod2), YACC (-lyacc), ISP (-lisp), and ICON (-lI)
  4550. language
  4551. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4552. \margl40
  4553. \margr40
  4554. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The language to use
  4555. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4556. \margl40
  4557. \margr40
  4558. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file(s) to grind
  4559. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  4560. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  4561. 4OCO4OD_
  4562. CO3?CODO
  4563. 4ODO4OD_
  4564. CO4?CODO
  4565. 4OCO4OCOx
  4566. CO3?CO4?
  4567. 4O3O4O3Ox
  4568. CO4?CO3O
  4569. E_Uox
  4570. U_V_w
  4571. 4O3O4OCOx
  4572. CO3?CO3O
  4573. 4OCO4O3Ox
  4574. 3?CODOCO4?COC?CO3?COC?
  4575. DO4?CO4?3O3?CO4?3O4OCO
  4576. ou/v?u?
  4577. 4?CO4OCO3OCO3?CO3?CO4?
  4578. CO4OD_4O3O4O3O4O3O3O3O
  4579. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  4580. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  4581. UUUUUUUUUUU@
  4582. @vnZjf
  4583. ufeufV
  4584. vvuwk
  4585. UUUUUUUUUUX
  4586. Bshow what versions of object modules were used to construct a file
  4587. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4588. \margl40
  4589. \margr40
  4590. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 what
  4591. \b0  reads each file and searches for sequences of the form ``@(#)'' as inserted by the source code control system. It then prints the remainder of the string after this marker, up to a null character, newline, double quote, or ``>'' character.
  4592. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4593. \margl40
  4594. \margr40
  4595. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file(s) to search for sequences in
  4596. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  4597. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  4598. 4OCO4OD_
  4599. CO3?CODO
  4600. 4ODO4OD_
  4601. CO4?CODO
  4602. 4OCO4OCOx
  4603. CO3?CO4?
  4604. 4O3O4O3Ox
  4605. CO4?CO3O
  4606. E_Uox
  4607. U_V_w
  4608. 4O3O4OCOx
  4609. CO3?CO3O
  4610. 4OCO4O3Ox
  4611. 3?CODOCO4?COC?CO3?COC?
  4612. DO4?CO4?3O3?CO4?3O4OCO
  4613. ou/v?u?
  4614. 4?CO4OCO3OCO3?CO3?CO4?
  4615. CO4OD_4O3O4O3O4O3O3O3O
  4616. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  4617. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  4618. UUUUUUUUUUU@
  4619. @vnZjf
  4620. ufeufV
  4621. vvuwk
  4622. UUUUUUUUUUX
  4623. ;extract strings from C programs to implement shared strings
  4624. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4625. \margl40
  4626. \margr40
  4627. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 xstr
  4628. \b0  maintains a file strings into which strings in component parts of a large program are hashed. These strings are replaced with references to this common area. This serves to implement shared constant strings, most useful if they are also read-only.\
  4629. The command\
  4630. \b xstr -c name
  4631. \b0 \
  4632. will extract the strings from the C source in name, replacing string references by expressions of the form (&xstr[number]) for some number. An appropriate declaration of xstr is prepended to the file. The resulting C text is placed in the file x.c, to then be compiled. The strings from this file are placed in the strings data base if they are not there already. Repeated strings and strings which are suffices of existing strings do not cause changes to the data base.\
  4633. After all components of a large program have been compiled a file xs.c declaring the common xstr space can be created by a command of the form\
  4634. \b xstr
  4635. \b0 \
  4636. This xs.c file should then be compiled and loaded with the rest of the program. If possible, the array can be made read-only (shared) saving space and swap overhead.\
  4637. Xstr can also be used on a single file. A command\
  4638. \b xstr name
  4639. \b0 \
  4640. creates files x.c and xs.c as before, without using or affecting any strings file in the same directory.\
  4641. It may be useful to run xstr after the C preprocessor if any macro definitions yield strings or if there is conditional code which contains strings which may not, in fact, be needed. Xstr reads from its standard input when the argument `-' is given. An appropriate command sequence for running xstr after the C preprocessor is:\
  4642. \b cc -E name.c | xstr -c cc -c x.c mv x.o name.o
  4643. \b0 \
  4644. Xstr does not touch the file strings unless new items are added, thus make can avoid remaking xs.o unless truly necessary.
  4645. 4{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4646. \margl40
  4647. \margr40
  4648. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Will extract the strings from the C source in name, replacing string references by expressions of the form (&xstr[number]) for some number
  4649. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  4650. \margl40
  4651. \margr40
  4652. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 Reads from its standard input
  4653. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4654. \margl40
  4655. \margr40
  4656. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The file to extract strings from
  4657. T_U_T_U_T_U_U_UOT_U_eoU_U_U_U_U_e_U_U_UOe_UOe_UOU_U_U_UOU_UOeoU_e_U_T_U_T_U_eoU_e_U_e_EOe_
  4658. V_U_E_U_V_U_V_UoV_U_E_UoU_U_U_U_U_UoU_U_U_U_U_U_V_U_V_U_E_eoE_UoU_U_E_UoU_U_VoUoU_UoV_UoEO
  4659. 4OCO4OD_
  4660. CO3?CODO
  4661. 4ODO4OD_
  4662. CO4?CODO
  4663. 4OCO4OCOx
  4664. CO3?CO4?
  4665. 4O3O4O3Ox
  4666. CO4?CO3O
  4667. E_Uox
  4668. U_V_w
  4669. 4O3O4OCOx
  4670. CO3?CO3O
  4671. 4OCO4O3Ox
  4672. 3?CODOCO4?COC?CO3?COC?
  4673. DO4?CO4?3O3?CO4?3O4OCO
  4674. ou/v?u?
  4675. 4?CO4OCO3OCO3?CO3?CO4?
  4676. CO4OD_4O3O4O3O4O3O3O3O
  4677. eoE_UoE_UoU_UoU_UoE_UoU_Uo
  4678. E_eoE_U_U_UoU_UoU_UoU_U_U_U_EOU_U_U_VoUoUoUoVOUOVoUoU_eoE_U_UOU_UOU_F_E_F_E_U_eoU_ToV_U_
  4679. UUUUUUUUUUU@
  4680. @vnZjf
  4681. ufeufV
  4682. vvuwk
  4683. UUUUUUUUUUX
  4684. yet another compiler-compiler
  4685. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4686. \margl40
  4687. \margr40
  4688. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b\i0\ulnone\fs24\fc0\cf0 yacc
  4689. \b0  converts a context-free grammar into a set of tables for a simple automaton which executes an LR(1) parsing algorithm. The grammar may be ambiguous; specified precedence rules are used to break ambiguities. The output file, y.tab.c, must be compiled by the C compiler to produce a program yyparse. This program must be loaded with the lexical analyzer program, yylex, as well as main and yyerror, an error handling routine. These routines must be supplied by the user; Lex(1) is useful for creating lexical analyzers usable by yacc.
  4690. R{\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\fswiss Helvetica;}
  4691. \margl40
  4692. \margr40
  4693. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 The file y.output is prepared, which contains a description of the parsing tables and a report on conflicts generated by ambiguities in the grammar
  4694. 6{\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4695. \margl40
  4696. \margr40
  4697. \pard\tx1152\tx2304\tx3456\tx4608\tx5760\tx6912\tx8064\tx9216\tx10368\tx11520\f0\b0\i0\ulnone\fs24\fc0\cf0 The file y.tab.h is generated with the define statements that associate the yacc-assigned `token codes' with the user-declared `token names'
  4698. grammar
  4699. {\rtf0\ansi{\fonttbl\f0\fmodern Courier;}
  4700. \margl40
  4701. \margr40
  4702. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 The yacc grammar
  4703.